【问题标题】:Intellisense for Ruby, Ruby on Rails, Python用于 Ruby、Ruby on Rails、Python 的 Intellisense
【发布时间】:2012-03-15 01:57:10
【问题描述】:

是否有适用于 Ruby、Ruby on Rails、Python 等语言的智能感知选项?

如有必要,这可能包括一个 IDE。我正在寻找类似 Visual Studio 的 c# 或 Eclipse 的 java intellisense 之类的东西。

【问题讨论】:

  • 试试jetbrains.com - 他们有适用于Ruby、Python等的IDE
  • 我对免费的特别感兴趣。 Aptana 通常是我使用 Ruby / Rails 的首选(虽然我已经有一段时间没有使用它了),但 IIRC 的自动完成功能在成员和类型的动态特性方面存在一些问题。

标签: python ruby-on-rails ruby autocomplete ide


【解决方案1】:

由于这些语言的动态特性,实现自动完成之类的功能非常困难,并且仅适用于某些情况。

Python 示例:pydev(eclipse 插件)、rope(这是一个可轻松用于 emacs 的重构库)、anyting with ipython(同样是 emacs 模式)。

无论如何,不​​要指望它们会像 Java 或 C# 工具那样强大。

例如,Rope 会进行一些类型推断以找出参数类型,以便为您提供补全建议。对于大型代码库,这可能需要非常长的时间,从而使该功能在此类代码库上无用。

另一方面,anyting with ipython 实际上会生成一个后台 python 进程,该进程会导入您当前的模块及其引用的任何模块,并对这些模块中的实体(类、函数、全局变量...)进行运行时检查。因为它不进行类型推断,所以它不能为作为参数传递的变量或局部变量提供任何自动完成建议。

【讨论】:

    【解决方案2】:

    将 vim 与 dot files 一起使用,其中包括语法高亮、智能缩进、Ruby 自动完成等功能。虽然它已经在 MacOS 上工作了,但是如果您使用其他操作系统,您可以轻松适应您的操作系统。

    另一个选项包括用于 Eclipse 的 Aptana 或 Jetbrains RubyMine。因此,请尝试所有解决方案并确定最适合您需求的解决方案。

    【讨论】:

      【解决方案3】:

      Sublime Text 2 也在有限的范围内支持这一点。动态语言的自动补全非常困难,因此这将显示最近使用的变量/方法,以及附近与模糊文本过滤器匹配的任何其他内容。

      【讨论】:

        【解决方案4】:

        我的vim setup 主要使用 supertabcomplete、snipmate 和 python-mode 插件来完成智能感知。

        它以 windows 为中心,因为这是我开发的基础,但只需在克隆后更改 vimrc 文件中的路径,您就应该可以正常运行了。

        【讨论】:

          【解决方案5】:

          没错!!

          jetbrains 拥有全系列的 ide。

          PyCharm 和 RubyMine

          http://www.jetbrains.com/ruby/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-11-27
            • 1970-01-01
            • 2015-06-16
            • 2011-06-17
            • 2011-01-06
            • 2012-03-07
            相关资源
            最近更新 更多