Python空闲。自动完成/显示完成不工作

Python空闲。自动完成/显示完成不工作,python,autocomplete,codeblocks,python-idle,Python,Autocomplete,Codeblocks,Python Idle,IDLE在何时实际显示自动完成菜单方面非常狡猾。到目前为止,它根本不起作用,或者更具体地说,它只在交互式会话中起作用 我一直在使用C的代码块,并且已经真正习惯了非常好的自动完成特性,所以没有它们有点令人沮丧——特别是在尝试学习新的框架以及与哪些方法相关联的类时,等等 有没有一个简单的解决办法让闲置自动完成再次工作?我使用的是python 2.7版 是否有一个简单的编辑器我应该研究一下?我试过Vim,它对我的简单需求来说有点太重了,忍者,我什么都做不了,还有Sublime text 2,我不能用我

IDLE在何时实际显示自动完成菜单方面非常狡猾。到目前为止,它根本不起作用,或者更具体地说,它只在交互式会话中起作用

我一直在使用C的代码块,并且已经真正习惯了非常好的自动完成特性,所以没有它们有点令人沮丧——特别是在尝试学习新的框架以及与哪些方法相关联的类时,等等

有没有一个简单的解决办法让闲置自动完成再次工作?我使用的是python 2.7版

是否有一个简单的编辑器我应该研究一下?我试过Vim,它对我的简单需求来说有点太重了,忍者,我什么都做不了,还有Sublime text 2,我不能用我的wxpython东西玩。一个好的选择是什么?任何类似于代码块的东西都很酷,不过,如果IDLE能够持续工作的话,我会非常乐意使用它

要求澄清: 好吧,看来我的一些术语有点背了。所谓非交互式,我的意思是,例如,右键单击python文件并选择“使用空闲编辑”。这就引出了我想可以称之为文本编辑器的东西。您可以在此处输入所有代码。准备好后,点击F5或选择Run,它将启动(我一直称之为)交互式终端。在这里,您可以输入代码,按回车键,然后立即对代码进行评估


我的问题是指前者,空闲部分,编辑代码的地方。有时在打字的时候,经过一段时间。它将显示可用的方法,或者在一个开括号后,它将给出有关预期值的提示。但问题是,有时它做这些事情,有时它不做

到目前为止,我发现的唯一一件事是,如果IDLE的编辑会话与python shell连接(在问题中称为“交互模式”,即在尝试运行编辑的脚本之后),那么“非交互”IDLE可以根据交互窗口中的值自动完成。例如,如果我键入

a = [];
a.appen
然后点击它将不起任何作用,但如果我以前键入

a = []
在相应的pythonshell中,IDLE将正确地自动完成


因此,我唯一的建议是在python shell窗口中导入具有相同名称的相同模块,以使它们对非交互式IDLE编辑器“可见”。

我对IDLE也有同样的问题,因为我想学习Qt,因此自动完成非常有用


如IDLE设置中所述,您可以使用“Control+Space”(控制+空间)触发自动完成,例如在“QtGui”之后。然后会打开一个菜单,您可以通过箭头滚动条目。

在我的例子中,我必须打开编辑器上的“选项菜单->扩展”选项卡,并查看是否启用了“自动完成”和其他相关选项。事实上是这样的,但只要点击“应用”,即使我不需要改变任何东西,也能帮我解决问题。

有时这与你等待得到建议的时间有关

当您进入
选项>扩展>常规
完成弹出窗口等待
时,您可以将其更改为大约500毫秒。
在我的例子中,默认为2000ms。

使用“空闲编辑器窗口”,您需要先保存并执行代码。
如果应用程序正在运行,请返回编辑器窗口以使用自动完成

用vim,甚至是简单的gedit@wim对不起,我可能在我的帖子中解释得很糟糕,但问题是自动完成确实是以交互方式工作的,但只以交互方式工作。如果我只是在IDLE auto complete(自动完成)中输入,则无法完成。所以我想弄清楚如何在非交互编码时使其工作。哦,对了,对不起!在python中工作时,我没有发现任何IDE的需要,因此在这方面我帮不了你。你确定它曾经以非交互方式工作过吗?“仅在交互会话中工作”?你还可以怎样使用IDLE?这是一个互动工具,对吗?什么是空闲的非交互式“会话”?运行脚本?这毫无意义。你能解释一下这个问题吗?我还不能投赞成票,但谢谢你!使用Ctrl+Space就像一种魅力。在windows下空闲时间相当快,但在我的Mac电脑上,给我自动完成的选项要花很长时间。再见TextWrangler,我将再次使用IDLE。因此,为了让autocomplete工作,您需要先使用shell导入库。然后,autocomplete将提供函数/类(在ctr+space之后)和选项卡。即使脚本不完整(运行时会产生错误),这也可以工作。谢谢你的提示。不幸的是,您必须在构建脚本时多次运行代码才能实现这一点。然而,随着代码变长,这将更加有用。在较长的代码中,您将倾向于使用先前定义的变量(您使用F5测试过的变量),从而在auto complete下提供更多的内容。这是正确的,但问题已经以相同的方式得到了回答,在六年后重复它毫无意义。