我即将习惯在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
有没有办法解决这个问题?是否有更好的IDE具有真正智能的代码完成?
答案 0 :(得分:2)
尽管由于Ruby的动态特性,RubyMine并不能一直完成所有代码的完成。但是,我仍然认为它是代码完成,方法导航,搜索功能的最佳Ruby IDE。
以下是一个屏幕截图,向您展示如何配置RubyMine以实现代码完成:
Here是Justin Gordon的一个很好的教程,它展示了RubyMine的一些令人感兴趣的特性。
我不知道任何其他Ruby IDE比RubyMine更智能的代码完成。事实上,绝大多数Ruby程序员甚至不使用IDE,而是使用文本编辑器!
以下是一些简短的站点文章,可以为您提供更多见解:
答案 1 :(得分:0)
如前所述,由于动态类型化,Ruby的代码完成非常复杂。从C#/ Java切换我一直在努力使用它已经有一段时间了,我找到了一种方法来至少缓解它。例如:
def extract_data_from_this_array(input_array)
# some code
end
假设您想要处理您获得的数组作为输入。您键入input_array
并且没有列出任何方法或所有方法,因为Ruby不知道它是一个数组。我所做的是写:
Array.new.
RubyMine建议使用所有Array方法。当你选择Ruby时它会有很大的帮助。