簡體   English   中英

蟒蛇空閑。 自動完成/顯示完成不起作用

[英]Python IDLE. Auto-complete/Show completions not working

IDLE 對於何時實際顯示自動完成菜單非常狡猾。 最近它根本沒有工作,或者更具體地說,只在交互式會話期間工作。

我一直在使用 C 的代碼塊,並且已經真正習慣了非常好的自動完成功能,所以沒有它們有點令人沮喪——尤其是在嘗試學習一個新的框架工作以及與哪個類相關聯時方法等等等等。

是否有一個簡單的修復方法可以讓 IDLE 自動完成功能再次工作? 我正在使用 python 2.7 版。

也許我應該研究一個簡單的編輯器? 我試過 Vim,它對於我的簡單需求來說有點太重了,Ninja,我無法為任何東西工作,以及 Sublime text 2,我無法使用我的 wxpython 東西。 什么是不錯的選擇? 任何類似於 Code Blocks 的東西都會很酷,不過,如果 IDLE 能夠持續工作,我會非常滿意!

要求澄清:好的,看來我的一些術語可能倒退了。 非交互式,我的意思是,例如,右鍵單擊一個 python 文件並選擇“使用空閑編輯”。 這帶來了我猜可以被描述為文本編輯器的東西。 您可以在此處輸入所有代碼。 准備好后,然后按 F5,或選擇運行,它會啟動(我一直指的是)交互式終端。 您可以在此處輸入代碼,按回車鍵,然后立即評估該代碼。

我的問題指的是前者,即您編輯代碼的 IDLE 部分。 有時在打字時,在 . 它將顯示可用的方法,或者在一個左括號之后它會給出預期值的提示。 但問題是,有時它會做這些事情,有時則不會。

到目前為止我發現的唯一一件事是,如果 IDLE 的編輯會話與 python shell 連接(在問題中稱為“交互模式”,即在嘗試運行編輯后的腳本之后),那么“非交互式”IDLE 可以基於自動完成在交互式窗口中的值。 例如,如果我輸入

a = [];
a.appen

然后點擊 < Tab > 它什么也不做,但如果我以前輸入

a = []

在相應的 python shell 中,IDLE 將正確自動完成。

所以我唯一的建議是在 python shell 窗口中導入具有相同名稱的相同模塊,以使它們對非交互式 IDLE 編輯器“可見”。

我在 IDLE 上遇到了同樣的問題,因為我想學習 Qt,因此自動完成非常有用。

正如它在 IDLE 的設置中所說,您可以使用“Control + Space”觸發自動完成,例如在“QtGui.”之后。 然后會打開一個菜單,您可以在其中箭頭滾動瀏覽條目。

就我而言,我必須在編輯器上打開選項菜單 -> 擴展選項卡,並確保啟用自動完成和其他相關選項。 他們實際上是,但只需單擊“應用”,即使我必須更改任何內容,對我來說也是如此。

有時這與您必須等待獲得建議的時間有關。

當您轉到options > extensions > generalcompletions popup wait您可以將其更改為大約 500 毫秒。 在我的情況下,默認為 2000 毫秒。

使用“空閑編輯器窗口”,您需要先保存並執行您的代碼。 應用程序運行后,返回編輯器窗口以使用自動完成功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM