2011-12-30 109 views
1

我一直在嘗試適應pydev幾天,我真的很喜歡它,但如果我保持自動導入選項,它會繼續導入例如from test.test_iterlen import len(和其他許多人),只要我想要一個len(something)即使沒有必要。另一方面,如果我完全關閉自動導入功能,當我做一個len(something)時,它會在當前行之前插入空行/空行,這真的很煩人。Eclipse PyDev自動導入故障

任何想法可能會導致它? 可以是非必需的輸入或空行。

Eclipse: Indigo Service Release 1 
Eclipse platform: 3.7.1 
PyDev: 2.3.0.2011121518 
Python: 3.2.2 

非常感謝!

回答

1

自動導入的工作原理是通過所謂的「代碼完成(ctx不敏感)」......在這裏主要的問題似乎是您要求完成「len」的代碼並且在許多其他地方(你最終選擇其中之一)。

所以,我認爲對於你的情況,如果你通常對短名稱做完成,一個更好的方法可能會提高字符的數量來顯示這些完成(默認情況下,它會帶來完成時,至少2個字符是可用)。

您可以配置那些:

窗口>首選項>的PyDev>編輯>代碼完成(CTX不敏感的,共同的標記)。

然後改變字符的數量到一個更高的數字(因爲你可能請求完成2個字符來獲得len,你可能想要把這個請求放在3或4個字符中)。

另一種可能的方法是將'len'放入'通用令牌'列表中(在相同的偏好頁面中),因此,它會在輸入時帶來完成,而您只需要選擇它,而沒有實際要求完成。

至於你在離開自動導入時報告的問題,我無法複製它(即:它沒有添加任何空行),所以,如果你可以報告爲PyDev錯誤跟蹤器中的一個錯誤,具有更好的指示(例如:源文件和重現步驟)。

0

彈出列表應該與代碼完成一起出現。向下滾動至len(object)選擇。對於Python 2.7,我無法重新創建你描述的怪異。可能有一些奇怪的Py3行爲。