Windows平台的Ruby IDE点评
2008-01-05 08:26:25 来源:WEB开发网在MacOS平台几乎没有什么争议性,大家都用TextMate。但是Windows平台可供选择和使用的IDE很多,却各有各的优点和短处。基于我用过的所有Ruby IDE点评一下。 windows平台的RoR IDE主要分为两类:一类是重量级的全功能IDE,例如Eclipse,Netbeans,IDEA和jedit,运行起来很耗资源,功能比较齐全;另一类是轻量级的IDE,例如Komodo,RoRed,vim,emacs,E,下面一一点评之:
一、重量级的IDE
1、radrails - 当前最值得推荐的IDE
radrails是基于Eclipse的插件,当前版本0.7.2。radrails继续了Eclipse平台的各种功能,尤其是CVS/SVN集成非凡好,和其他ruby IDE相对比来说,radrails最主要的优点在于bug很少,功能非常齐全。
1)相对于其他大多数RoR IDE各种各样的bug,radrails在0.7.2版本的表现非常的稳定。在我连续几个月使用下来,基本没有什么大的bug。
2)功能齐全,其他IDE或多或少功能都有缺失,但radrails功能非常齐全:内置的server治理,generator,rake task,rdoc检索,plugin安装,规则表达式校验,tail log,,console调试窗口,debug,代码格式化,代码和模板高亮,ruby代码和rHtml模板的template自动提示,单元测试支持,代码和测试之间的跳转,代码和模板之间的跳转等等等无所不包。
3)中文支持非常好,UTF-8编码支持也非常好。中文字体显示也很漂亮,这一点对我们来说很重要。
但是radrails也不是没有缺点,radrails的致命缺点是其RDT功能太弱智。
1)代码的感知能力很差,连我敲一个def回车都不会自动补齐end。而且也不能够搜索ruby库文件进行语法树分析,所以没有智能提示功能。
2)没有像Eclipse的JDT那样的Ctrl+O来快速导航到某个方法的功能,这一点对我开发很重要,否则我就总是需要通过serch "def 方法名"才能快速找到要修改的方法,非常不方便,这是我非常垢病RDT的一个地方,也没有F3快速导航到类定义文件的功能。
RDT下一个版本0.9.0号称在两周以后就会发布(RDT快两年没有推出新版本了,实在是太迟钝了),貌似对于脚本语言的AST解析能力大大增强,假如真的是这样,还是很值得期待的,预计RDT0.9.0发布几周之后,radrails就会发布0.8版本。另外值得一提的是radrails得到了SAP的一些赞助和支持。
2、Netbeans - 最值得期待的IDE
Netbeans6.0M7提供了Generic Language Support Framework,一个很强大的脚本语言框架,在这个框架基础上提供的ruby和ruby on rails支持表现非凡。可以对ruby语言和库进行良好的语法分析,从而提供智能化的代码提示功能,让ruby程序员也可以享受到敲一个“.”就能够跳出来具体提示的功能,真正有了写java程序的安全感。有些优点确实很棒:
1)代码感知能力超强,不但系统库的API,你自己项目的所有类API都可以根据上下文提示,有了写Java程序那种安全感了,也不用跳转来去找类定义文件了。
2)快捷的打开rails库文件和ruby所有库文件,类似在Eclipse里面打开依靠库的源代码和JDK的源代码的功能,对于学习和熟悉ruby库和rails非常非常有用。
3)Ctrl+G可以快速定位类定位文件,类似Eclipse的F3的功能。
目前netbeans这些功能领先所有的其他IDE,非常令人期待。但是netbeans也有些明显的缺点,有些东西用起来行为非常古怪,可能是因为netbeans6.0还是beta版本,bug太多的缘故,而且也不够稳定:
1)没有类似Eclipse的Ctrl+Shift+R那样的文件快速定位功能,要自己在项目树里面一层层找,这个实在令人难以忍受。一个大项目动不动几百个文件,不能快速定位,找起来太影响效率。其实netbeans提供了一个Ctrl+Alt+O的快捷定位,但是不起作用,搜索框总是空的,因此怀疑netbeans有这个功能,目前是bug导致出不来。
2)没有在文件中快速定位某个方法的功能,这一点和radrails一样令人失望。
3)在编辑器里面好多顺手的代码编辑的快捷功能都没有,令人很苦恼,这一点显然不如radrails那么方便。
4)对中文的支持不好
5)对yml文件没有高亮功能
6)依靠JDK6.0,在JDK5.0上面跑很不流畅。
总得来说,netbeans还是最值得期待的IDE,等到07年底,netbeans6.0正式发布,ruby插件支持更加成熟以后,我想我会转移到netbeans上面来。另外非常重要的一点:Sun公司从JDK6以后,致力于JVM平台化发展道路,大力拓展脚本语言在JVM平台的支持力度,而且Sun给予了JRuby官方支持,所以netbeans平台的脚本框架和RoR支持是有足够的商业推动力的,前景应该是最好的!
更多精彩
赞助商链接