我看过那里的大部分IDE。我已经设置vim使用自动完成功能,我现在正在使用它。但是,我似乎无法像使用.NET的Visual Studio那样工作。自动完成似乎仅在某些情况下有效,它只显示方法而不是它们采用的参数。它对我来说几乎无法使用。
我所追求的是一个弹出式窗口,它会向我显示所有可用的方法及其所采用的参数。当您编程.NET时,几乎就是VS2010的感觉。
答案 0 :(得分:6)
你不会在像Python这样的动态语言中获得那种你用更明确的类型语言获得的自动完成功能。考虑:
def MyFunction(MyArg):
MyArg.
键入“。”时在MyArg.
中,您希望编辑器提供带参数的方法列表。这在Python中不可能发生,因为编辑器完全无法知道MyArg
可能是什么类型(或类型)。甚至Python编译器在编译代码时也没有这些信息。这就是为什么,如果你放MyArg.SomeNonExistentFunction()
,你将不会得到任何类型的错误消息,直到运行时。
如果您写了类似的内容:
def MyFunction:
MyObject = MyClass(SomeArg)
MyObject.
然后一个足够聪明的编辑器可以提供最终“。”之后可用的方法列表。
您会发现那些“有时”提供自动填充的编辑器在类似于我的第二个示例的情况下这样做,而在类似于第一个的情况下不这样做。使用Python,这是你能得到的最好的。
答案 1 :(得分:3)
Gedit有一个开发人员插件,试图完成一些语法。由于已经提到的原因,它不能很好地工作。经过几周的试用,我发现它比有用更麻烦,并且禁用它。
ipython的新Qt控制台已完成选项卡,您可以使用语法帮助和文档字符串获得一些工具提示类型的弹出窗口。请参阅下面的屏幕截图,例如..
但是正如大多数人已经指出的那样,你要求的这种事情更适合于不那么动态的语言。
答案 2 :(得分:3)
我已经使用带有PyDev扩展名的Eclipse了一段时间了。那里的自动完成非常令人印象深刻,我强烈推荐它。