Python 代码补全

4 投票
6 回答
2544 浏览
提问于 2025-04-16 04:58

我用C#已经很久了,最近决定换成Python。现在我遇到的问题是关于自动补全的。我想我可能是被C#和它的resharper给宠坏了,所以我期待Python也能有类似的功能。

我选择的编辑器是emacs,经过一些研究,我发现了autocomplete.plyasnippet和rope,不过我不太清楚这些在基于cygwin的系统上怎么安装,因为相关的文档似乎都是针对Linux的……

我现在用的emacs版本是23.2.1,它自带了Python模式,虽然有用,但远远落后于现在的研究成果。

我想问问Python用户,自动补全和手动输入(在可能的情况下使用M-/)有多普遍?

我在考虑是否只记住Python的内置函数,比如len、append、extend等等,然后回到一种接近于没有自动补全的编辑模式。这样的做法和其他Python爱好者有什么不同呢?

6 个回答

1

我发现 PyDev 和 Eclipse 组合可以满足我大部分的需求。另外,还有来自 Intellij 团队的 PyCharm。PyCharm 的一个额外好处是它能和 git 很好地结合在一起。

4

我也习惯了Intellisense的便利。Eclipse的PyDev扩展提供了一个相当不错的自动补全功能,可以替代它。

4

我发现这篇文章

我的 Emacs Python 环境

是关于如何在 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 要好。

撰写回答