Python IDLE。自动完成/显示完成无效

时间:2012-02-01 01:22:31

标签: python autocomplete codeblocks python-idle

IDLE在实际显示自动完成菜单的时候非常狡猾。最近它根本没有工作,或者更具体地说,只在交互式会话期间工作。

我一直在使用Code Blocks for C,并且已经习惯了非常好的自动完成功能,所以没有它们会有点令人沮丧 - 特别是在尝试学习新的框架工作以及什么类是与哪些方法等相关联。

是否有一个简单的方法可以让IDLE自动完成再次工作?我正在使用python版本2.7。

我应该研究一下简单的编辑器吗?我已经尝试过Vim,它对我的​​简单需求来说有点太重了,Ninja,我无法为任何事情工作,而Sublime文本2,我无法得到我的wxpython游戏。什么是一个不错的选择?任何类似于Code Blocks的东西都会很酷,但是,如果IDLE一直有用的话,我会非常满意!

请求澄清: 好的,所以看起来我的术语可能会倒退一些。通过非交互式,我的意思是,例如,右键单击py文件并选择“使用IDLE编辑”。这提出了我认为可以描述为文本编辑器的内容。您可以在这里输入所有代码。一旦准备好,然后按F5,或选择Run,它将启动(我称之为)交互式终端。在这里,您可以输入代码,按回车键,并立即评估该代码。

我的问题是指前者,IDLE中编辑代码的部分。有时在打字时,经过一次。它将显示可用的方法,或者在打开括号后,它将给出关于预期值的提示。但问题是,有时它会做这些事情,有时却没有。

5 个答案:

答案 0 :(得分:12)

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

a = [];
a.appen

然后点击<标签>它什么都不做,但如果我以前输入

a = []

在相应的python shell中,IDLE将自动完成正确。

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

答案 1 :(得分:10)

我和IDLE有同样的问题,因为我想学习Qt,因此自动完成非常有用。 正如它在IDLE设置中所说,您可以使用“Control + Space”触发自动完成功能,例如在“QtGui。”之后。然后会打开一个菜单,您可以在其中滚动条目。

答案 2 :(得分:0)

就我而言,我必须打开选项菜单 - >编辑器上的“扩展”选项卡,以确保启用了“自动完成”和其他相关选项。他们实际上是,但只需点击“应用”即使我必须改变任何东西对我来说都是诀窍。

答案 3 :(得分:0)

有时它与你必须等待获得建议的时间有关。

当您在options > extensions > general转到completions popup wait时,您可以将其更改为约500毫秒。 在我的情况下,它默认为2000毫秒。

答案 4 :(得分:-1)

使用“IDLE Editor窗口”,您需要先保存并执行代码。 应用程序运行后,返回编辑器窗口以使用自动完成功能。