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

Zac*_*ack 18 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中编辑代码的部分.有时在打字时,经过一次.它将显示可用的方法,或者在打开括号后,它将给出关于预期值的提示.但问题是,有时它会做这些事情,有时却没有.

suk*_*mel 14

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

a = [];
a.appen
Run Code Online (Sandbox Code Playgroud)

然后按<Tab>它什么都不做,但如果我以前输入

a = []
Run Code Online (Sandbox Code Playgroud)

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

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


use*_*975 12

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

  • 我还不能投票,但谢谢你user2366975!使用Ctrl + Space就像魅力一样.IDLE在Windows下非常快,但在我的Mac上,它给我提供了自动完成选项.再见TextWrangler,我将再次使用IDLE. (2认同)