没用过 Rubymine, 也不打算用。呵呵
不过就是想知道:
类似 Rubymine 这种 IDE 开发环境,是否能想静态语言那样,智能的针对不同 (类别的) 的对象, 仅仅显示当前对象可用的方法。
用过 Rubymine 的回答下。谢谢。
谢啦~~
最近几天折腾 Ruby, RSpec, 和 Rails 的 Autocomplete 和 yasnippet, 研究了一套方案,相当有成就感,哈哈,所以就是想了解下,Rubymine 好在哪里。如果刚才那个功能不支持 ( 我估计难,毕竟不是强类型的静态语言), 俺的 Emacs 也可以媲美 Rubymine 了。而且随意个性化定制。
#3 楼 @zw963 由于 Ruby 不是强类型的静态语言,智能的针对不同 (类别的) 的对象 的难点在于用非 Ruby 语言来实现智能提示,你靠其它语言来解析 ruby 源代码很难得程序实现运行效果。但你如果用 Ruby 自己来解析自己,得到对象的方法很容易,其实就是Obj#methods
,Obj#instance_methods
这些。RubyMine 在这方面做的就很好。还有一个难点就是find_by_*
这些由method_missing
伪生成的方法,但 RubyMine 做了特殊处理来解析,提示效果也很棒。
但有一句不得不提醒一句:RubyMine 真的很"毒",尤其是对于初学者。
来两张很毒的图: 对第三方 gem 提示也很棒,这张图是关于 Devise 的