RubyMine 代码自动完成

Vla*_*ust 2 ruby ide autocomplete ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)

为什么,鲁比矿?

有什么办法可以解决这个问题吗?有没有更好的 IDE 具有真正智能的代码完成功能?

小智 7

如前所述,由于动态类型,Ruby 的代码完成非常复杂。从 C#/Java 切换过来,我已经为此苦苦挣扎了一段时间,并且我找到了一种方法,至少可以稍微减轻一点。例子:

def extract_data_from_this_array(input_array)
  # some code
end
Run Code Online (Sandbox Code Playgroud)

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

Array.new.
Run Code Online (Sandbox Code Playgroud)

RubyMine 建议使用所有数组方法。当您刚刚选择 Ruby 时,它会很有帮助。