RubyMine代码自动完成

时间:2015-08-12 21:09:58

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

我即将习惯在Android Studio中使用Java。最棒的是,一切都被强烈宣布。因此,当我键入MyClass.someme ...时,IDE为我提供了高级代码自动完成功能。发展迅速而愉快。

但后来我想学习RubyOnRails。我爱上了JetBrains产品,所以我在我的Windows机器上安装了RubyMine。

尽管Windows环境存在一些问题,但我还是对不太好的代码完成感到困惑。即使IDE知道该方法(可以通过Ctrl + B组合找到它),它也不会在弹出菜单中提供它(发现图片)。

来自railstutorial.org的功能:

# SomeControllerHelper.rb
# Redirects to stored location (or to the default)
def redirect_back_or (default)
  redirect_to(session[:forwarding_url] || default)
  session.delete(:forwarding_url)
end

Why, RubyMine?

有没有办法解决这个问题?是否有更好的IDE具有真正智能的代码完成?

2 个答案:

答案 0 :(得分:2)

尽管由于Ruby的动态特性,RubyMine并不能一直完成所有代码的完成。但是,我仍然认为它是代码完成,方法导航,搜索功能的最佳Ruby IDE。

以下是一个屏幕截图,向您展示如何配置RubyMine以实现代码完成:

enter image description here

Here是Justin Gordon的一个很好的教程,它展示了RubyMine的一些令人感兴趣的特性。

我不知道任何其他Ruby IDE比RubyMine更智能的代码完成。事实上,绝大多数Ruby程序员甚至不使用IDE,而是使用文本编辑器!

以下是一些简短的站点文章,可以为您提供更多见解:

Which IDEs do Rubyists Use?

What Editor Do Rubyists Use?

答案 1 :(得分:0)

如前所述,由于动态类型化,Ruby的代码完成非常复杂。从C#/ Java切换我一直在努力使用它已经有一段时间了,我找到了一种方法来至少缓解它。例如:

def extract_data_from_this_array(input_array)
  # some code
end

假设您想要处理您获得的数组作为输入。您键入input_array并且没有列出任何方法或所有方法,因为Ruby不知道它是一个数组。我所做的是写:

Array.new.

RubyMine建议使用所有Array方法。当你选择Ruby时它会有很大的帮助。