【问题标题】:Python Code CompletionPython 代码完成
【发布时间】:2011-04-20 20:33:29
【问题描述】:

在使用 C# 很长时间后,我终于决定改用 Python。 我目前面临的问题与自动完成有关。 我想我被 C# 宠坏了,尤其是 resharper,我期待 Python 也有类似的东西。

我选择的编辑器是 emacs,在做了一些研究后,我发现了 autocomplete.plyasnippet 和rope,尽管我不清楚它们是否以及如何安装在基于 cygwin 的系统中,这就是我使用的所有相关文档似乎都是特定于 linux 的......

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

我对 python 用户的问题是关于自动完成与手动输入的常见程度(在可能的情况下使用 M-/)?

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

【问题讨论】:

  • 哪个平台、文本模式或 GUI?您的开发是否针对 django 之类的框架?
  • 平台是 cywin,使用文本模式和 wxPython 的 GUI。目前我不打算使用 django。
  • 我越仔细阅读您的问题,就越不确定我是您要问的问题。这是你的问题吗:其他 Python 程序员为自动完成做了什么,有共同的选择吗?
  • 这里有一个 Python 编辑器和 IDE 列表,其中包含有关自动完成支持的信息:stackoverflow.com/questions/81584/what-ide-to-use-for-python
  • 完全正确.. 我想知道大多数 python 用户是依赖一些自动完成机制还是使用更手动的方法

标签: python emacs


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    看看Spyderlib,支持包括代码补全在内的大部分功能

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        我找到了这篇文章

        My Emacs Python environment

        成为关于如何在 Emacs 中设置一个体面的 Python 开发环境的最有用和最全面的说明和参考列表,无论操作系统平台如何。设置仍然需要一些工作,但至少它涵盖了通常推荐用于 Emacs 中的 Python 的流行包和组件,这些包和组件提供自动完成功能。

        我粗略地使用这篇文章作为指南,在我的 Windows 机器上使用 Emacs 23.2.1 和 Python 2.6.5 进行设置。虽然,在某些情况下,我也安装了 Cygwin,而不是运行帖子中提到的 *nix shell 命令,我只是通过网络浏览器下载包,用 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 文件以引用它们,如帖子中所述。

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

        【讨论】:

          【解决方案5】:

          我发现PyDev + Eclipse 可以满足我的大部分需求。还有来自 Intellij 团队的 PyCharm。 PyCharm 具有与 git 平滑集成的额外优势。

          【讨论】:

            【解决方案6】:

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

            【讨论】:

            • 我了解 PyDev...如果可能的话,我更愿意使用 emacs,但我会尝试 PyDev,看看它是否适合我的编码习惯
            猜你喜欢
            • 2011-10-01
            • 2011-10-12
            • 1970-01-01
            • 2016-06-20
            • 2012-08-09
            • 2013-02-14
            • 2017-03-21
            • 2012-12-18
            • 2015-02-01
            相关资源
            最近更新 更多