2014-09-23 92 views
1

我已經使用Eclipse很多年了(對於Java和Perl編程),但是我最近只安裝了PyDev,因爲我想將它用作學習IDE蟒蛇。Pydev/Eclipse中的自動完成未顯示所有方法

我的問題是,當我按變量名後的週期符號時,自動填充建議列表不會顯示該類型的所有方法。

E.g.在下面的截圖中,我想在datetime模塊中使用isoformat()方法。如果我手動鍵入變量.methodname即end.isoformat(),代碼工作正常。 但是,如果我只是在變量End之後按下句點,則自動完成建議下拉列表不包含isoformat任何位置。正如你所看到的,datetime在Forced builtins列表中,但這似乎沒有幫助。

我已經在網站上查看了有關PyDev自動完成問題的其他問題,但這些線程中建議的解決方案都沒有解決我的問題。作爲Python的初學者,工作的自動完成對我來說真的很有幫助。有人可以幫忙嗎?

詳細瞭解我的設置:

  • Eclipse版本:月神發行(4.4.0)建立ID:20140612-0600
  • 的PyDev爲Eclipse 3.7.1.201409021729
  • 的Python 2.7.3
  • Windows 8.1

編輯:Bah,StackOverflow不會讓我發佈屏幕截圖圖片,因爲這是一個新帳戶,並且我擁有小於10聲譽」。什麼阻止我使用屏幕截圖進行更清晰的溝通,與經驗值有關?他們不是很酷。

無論如何,我已經粘貼下面我的代碼:

import datetime 


start = datetime.date(2014,7,7) 
end = start + datetime.timedelta(days=180) 
print(end.isoformat()) 

回答

0

我想我找到了答案。

我認爲,由於Python的動態特性,在上面的代碼片段中,代碼編輯器不知道變量'end'中存儲了什麼類型的對象,所以它不知道它會是日期對象,因此不會在自動填充建議中顯示'isoformat()'。

當我輸入變量'start',然後輸入一個句點時,它確實知道它是一個日期對象,並且它在自動填充建議中顯示'isoformat()'。

所以自動完成工作畢竟是!那是一種解脫。 :)

+0

Yeap,就是這樣:) – 2014-09-25 02:24:46

+0

謝謝法比奧,以確認這一點。 :) – 2014-09-25 18:30:10

0

我能想到的只有一點 - 請確保您有解釋的是你已經有了下安裝的模塊相同。

如果您確認,您可以隨時重新掃描模塊(需要多一點爲它建立索引)

+0

我的機器上只安裝了一個Python實例,位於路徑C:\ Python27。 Eclipse中的設置如下: - 首選項> PyDev>解釋器> PythonInterpreter在名爲「python」的鍵下設置爲值「C:\ Python27 \ python.exe」 - Project> Properties> PyDev Interpreter /語法>解釋器設置爲「python」 所以它們似乎是同步的。我也嘗試重新掃描模塊,但這沒有什麼區別。 無論如何,謝謝你的迴應! – 2014-09-23 18:23:06

+0

我甚至無法提出你的建議,因爲我沒有「15聲望」。這個網站對新人非常苛刻。 – 2014-09-23 18:33:31

+0

不用擔心。因爲我沒有真正解決你的問題,所以我總是不誠實地在我的答案上得到+1。 ;) – synthesizerpatel 2014-09-23 18:37:09

0

我認爲你應該嘗試使用Java 8版本。 Crosscheck認爲eclipse需要java 8版本。然後只有pydev可以在eclipse中查看。由於pydev需要Eclipse Luna中的Java 8版本。

+1

通過添加一些示例,引用來改善您的問題 – 2016-11-30 05:45:33

相關問題