Python 代码补全
我用C#已经很久了,最近决定换成Python。现在我遇到的问题是关于自动补全的。我想我可能是被C#和它的resharper给宠坏了,所以我期待Python也能有类似的功能。
我选择的编辑器是emacs,经过一些研究,我发现了autocomplete.pl
、yasnippet
和rope,不过我不太清楚这些在基于cygwin的系统上怎么安装,因为相关的文档似乎都是针对Linux的……
我现在用的emacs版本是23.2.1,它自带了Python模式,虽然有用,但远远落后于现在的研究成果。
我想问问Python用户,自动补全和手动输入(在可能的情况下使用M-/)有多普遍?
我在考虑是否只记住Python的内置函数,比如len、append、extend等等,然后回到一种接近于没有自动补全的编辑模式。这样的做法和其他Python爱好者有什么不同呢?
6 个回答
我也习惯了Intellisense的便利。Eclipse的PyDev扩展提供了一个相当不错的自动补全功能,可以替代它。
我发现这篇文章
是关于如何在 Emacs 中设置一个不错的 Python 开发环境的最有用和全面的指南,不管你用什么操作系统。虽然设置起来还是有点麻烦,但至少它涵盖了在 Emacs 中为 Python 推荐的一些流行插件和组件,这些插件可以提供自动补全的功能。
我大致参考了这篇文章,在我的 Windows 机器上用 Emacs 23.2.1 和 Python 2.6.5 进行了设置。虽然我有时会安装 Cygwin,而不是直接运行文章中提到的 *nix 命令,但我通常是通过浏览器下载这些插件,使用 7zip 解压,然后把它们复制到 Emacs 的插件目录里。
另外,为了安装 Pymacs、Rope 和 Ropemacs,我使用了 Python 的 EasyInstall 包管理工具。使用这个工具时,我下载并安装了 Windows 版本的 setuptools
包。安装完成后,我在命令行中进入下载目录,然后运行命令
easy_install .
而不是文章中提到的 shell 命令。
一般来说,我把所有的 *.el
文件保存在我的 ~\.emacs.d\plugins
目录下(比如在 %USERPROFILE%\Application Data\.emacs.d\
),然后更新我的 .emacs
文件,让它能找到这些文件,具体方法在文章中有说明。
尽管如此,有时候我还是会用 DreamPie,因为它的自动补全功能比我设置的 Emacs 要好。