动态语言IDE中的自动补全,特别是在PyDev中的Python
我刚开始学习Python,之前主要用的是一些静态类型的语言,比如Java。
我选择了在Eclipse中使用PyDev作为我的开发环境,因为我查看了它的功能和受欢迎程度等。
让我感到震惊的是,自动补全似乎对内置函数的支持不太好。比如我在写完以下代码后尝试自动补全:
datafile = open(directory+"/"+account, 'r')
datafile.
结果没有给出有用的方法建议(比如realines)。只出现了一些像call这样的选项。
我习惯通过查看类定义和使用自动补全来快速了解一个语言的功能。我的PyDev“解释器”设置得很好,已经启用了“强制内置函数”。
请问在PyDev中能否实现内置函数的自动补全?我是不是用错了这个开发环境?也许应该在旁边运行一个解释器来测试代码?到目前为止,我觉得这些开发环境都不太强,比如IDLE在我新的Mac上用了两分钟就崩溃了。我很想知道有经验的Python开发者在探索不熟悉的(内置)模块时是怎么做的,因为这让我开始重新考虑我最初对Python的吸引力。我喜欢那种可以通过简单探索来学习的语言!
谢谢,
7 个回答
为了让新读者了解Pydev的最新情况,这里更新一下:你提到的例子现在在Pydev中可以正常运行了。(顺便说一句,最好不要手动处理路径,应该使用os.path.join这个方法来处理。)
在我看来,Python的命令行比起使用集成开发环境(IDE)来探索新模块要好得多。别忘了,在Python中,你可以在命令行里做任何在程序中能做的事情,因为没有单独的编译步骤。而且在命令行中,你可以用 dir(x)
来查看x的所有属性和方法,不管x是模块、类还是其他什么东西。
更棒的是,增强版的 iPython 命令行可以为所有对象提供自动补全功能。
实际上,正因为这个原因,很多Python程序员,包括我自己,都不使用IDE,而只是用一个简单的文本编辑器(我用的是VIM)。