Python代码完成

时间:2010-10-04 14:44:24

标签: python emacs

长时间使用C#后,我终于决定切换到Python。 我现在面临的问题是自动完成。 我想我被C#宠坏了,特别是来自resharper,我期待Python有类似的东西。

我选择的编辑器是emacs,经过一些研究后我发现autocomplete.plyasnippet和绳子虽然我不清楚它们是否以及如何安装在基于cygwin的系统中我使用的是因为所有相关文档似乎都是特定于Linux的......

我目前使用的emacs版本是23.2.1,它捆绑了python模式,虽然有用但远远落后于任何研究所提供的。

我对python用户的问题必须考虑自动完成与手动输入有多常见(尽可能使用 M - / )?

我正在考虑记住像len,append,extend等的python内置函数,并恢复到接近自动完成前编辑模式。这种方法与其他pythonistas的做法有何不同?

6 个答案:

答案 0 :(得分:4)

我也被Intellisense宠坏了。 Eclipse的PyDev扩展提供了一个非常好的自动完成替代。

答案 1 :(得分:4)

我找到了这篇文章

  

My Emacs Python environment

是有关如何在Emacs中设置合适的Python开发环境的最有用和最全面的指令和参考列表,无论OS平台如何。设置仍然是一项工作,但至少它涵盖了Emacs中通常推荐用于提供自动完成功能的流行软件包和组件。

我松散地使用这篇文章作为使用Emacs 23.2.1和Python 2.6.5在我的Windows机器上进行设置的指南。虽然,在某些情况下我也安装了Cygwin,而不是运行帖子中提到的* nix shell命令,但我只是通过Web浏览器下载软件包,用7zip解压缩它们,然后将它们复制到我的Emacs插件目录。

另外,为了安装Pymacs,Rope和Ropemacs,我使用了Python的EasyInstall包管理器。要使用它,我下载并安装了the setuptools package using the Windows install version。安装完成后,在命令行中,cd到各自的下载位置并运行命令

easy_install .

而不是帖子中显示的shell命令。

通常,我在*.el中保存了所有~\.emacs.d\plugins个文件(例如在%USERPROFILE%\Application Data\.emacs.d\中),然后更新了我的.emacs文件以引用它们,如帖子中所述。< / p>

尽管如此,有时候,我还是使用了DreamPie,因为它确实具有比我的Emacs设置更好的自动完成功能。

答案 2 :(得分:1)

我发现PyDev + Eclipse可以满足我的大部分需求。 Intellij团队也有PyCharm。 PyCharm具有与git平滑集成的附加优势。

答案 3 :(得分:0)

我一直在使用PyScripter,一个适用于Windows的IDE,现在已经发现它非常好了。它具有许多其他功能的自动完成功能。它是用Delphi编写的 - 并不是说​​它有什么问题 - 它只是困扰我一点,但是......

答案 4 :(得分:0)

查看Spyderlib,支持大部分功能,包括代码完成

答案 5 :(得分:0)

IMO,到目前为止,利用emacs可用的python工具的最简单方法是利用所有设置的默认值: https://github.com/gabrielelanaro/emacs-for-python

我实际上花时间让pymacs和ropemacs以及python-mode在找到那个小宝石之前独立工作,现​​在我完全依赖它来完成我所有基于python的自定义。如果你是新人,我肯定会从那里开始。