InfoQ

新闻

CodeGear发布Ruby/Rails IDE——3rdRail:纳入动态方法智能完成功能

作者 Scott Delap译者 郑柯 发布于 2007年9月25日 下午7时30分

社区
Ruby
主题
工件和工具
标签
Rails

CodeGear刚刚发布了他们的Ruby/Rails IDE 3rdRail。该IDE关键功能包括:

代码导航:3rdRail能够辅助开发人员对应用程序结构进行快速高效的遍历……它理解RoR应用的工作机制,开发人员只要关注相关给定部分的代码就可以了。

CodeGear Commanders:CodeGear Commanders提供一个集成于IDE中并可以快速访问的命令行界面,它能够发挥RoR命令行的强大功能,完成对代码生成器的调用并可执行其它功能。命令输出带有超链接,因此点击任何生成的文件或文件夹,就可以将其在IDE中打开。

智能代码自动完成:3rdRail的代码自动完成功能集成了多个强大的特性,可以自动补全方法和参数名称,并对语法进行检查。3rd Rail能够理解开发人员正在进行的工作的上下文,并根据惯例和语义对开发人员可能输入的代码进行预测。3rdRail并不是简单地给出包括几百个方法的弹出窗口就算了,而是可以提供正确的选项。在运行时创建的方法也被纳入了3rdRail的代码自动完成功能的范畴。

重构:3rdRail囊括了特为RoR准备的技术,可以让开发人员改进并简化应用程序的设计。使用3rdRail中的重构工具,开发人员可以在不改变运行结果的前提下对应用代码进行重新组织。

Web开发工具:Mozilla浏览器、JavaScript调试、文档对象模型(Document Object Model,DOM)检查、请求监控以及其它工具都集成在3rdRail中,开发人员可借助它们来编辑和管理Web站点的所有产物。

InfoQ与CodeGear产品和战略副总Michael Swindell以及3rd Rail的开发主管Joe McGlynn一起,对新版本的IDE进行了讨论。他们提到,CodeGear发现这段时间以来,商业软件开发人员和企业级软件开发人员对Ruby on Rails的兴趣有明显提升。这就是让他们投入对3rd Rail开发的风向标。该项目一开始,开发团队的每名成员都将自己沉浸在RoR开发人员的角色之中。在这个过程里,他们识别出一系列作为RoR初级开发人员所能触及的痛处。

接下来InfoQ问到3rdRail对日渐流行的JRuby的支持情况:

在安装程序运行过程中,可以对Ruby、Rails、MySQL以及Interbase的版本进行选择。所支持平台包括Windows、Linux和OS X。开发人员通过配置他们的IDE可以使用之前安装的Ruby或JRuby版本。每个项目的目标平台也可以有所不同。

话题接下来转向了3rdRail作为纯Ruby IDE的能力。目前针对NetBeans也有类似的问题。McGlynn的回答是:要制造一个伟大的Rails IDE,首先要制造一个伟大的Ruby IDE。对Ruby的支持包括提供编辑功能,提供调试器,内嵌IVR,以及对gem的支持。

InfoQ接下来问到3rdRail在开源方面的问题。McGlynn说:

对3rdRail来说,开发团队从Eclipse平台开始着手,而不是Eclipse的IDE。这里面没有Java什么事儿。团队通过检查 RadRails和DLTK提供的一些基础代码,最终决定对DLTK进行扩展。CodeGear发现与DLTK团队一起合作是很快乐的事情,并且有两名 CodeGear的雇员是DLTK项目的提交者(committer)。在平衡有版权保护的代码与提交回DLTK的开源代码这个问题上,任何与Ruby相关的代码都提交回去了。3rdRail专用的工具被保留为产品的组成部分。

在3rdRail提供的创新特性中,能够感知项目的命令行窗口是其中之一。Swindell表明了包含这个功能的原因:

Rails大量使用了命令行脚本。Commander保持了这种能力,并以智能化的方式将其包含在IDE中。在一般命令行脚本功能基础之上,使用CTRL +Space快捷键,可以自动完成命令和选项。除支持Rails的全部命令以外,Commander还支持Capistrano和Gems。

讨论接下来转向了代码的编辑和导航功能上。McGlynn指出Rails做了很多对一般开发人员不可见的底层工作。CodeGear希望用户在对代码进行编辑和导航时能够知道到底发生了什么。这样做带来的结果是:对诸如finder方法之类的动态方法,编辑器也能够实现代码自动完成功能。内置导航工具理解 Rails的分发路径,并对其进行跟踪。使用CTLR+ALT+N快捷键,能够将你导航到下一个分发点。在编辑的透视图(Perspective)中,还提供对调用层次视图的查看。

最后,Swindell被问及关于竞争对手NetBeans IDE对Ruby/Rails之支持的看法:

3rdRail从一开始就是作为纯Ruby/Rails IDE进行开发的。3rdRail包括一系列NetBeans没有的特性,比如对动态运行时方法的代码自动完成。

如果购买3rdRail,附带的许可证包括一年升级支持。第四季度发布的版本中将包括提供对Rails特定调试等功能。

查看英文原文:CodeGear Releases Ruby/Rails IDE with Intelligent Completion of Dynamic Methods
译者简介:郑柯,目前任职《程序员》杂志社高级编辑,有志于在中国的软件开发业界推广Agile的理念和方法论,笃信以人为本,关注Ruby,关注敏捷,关注人。参与InfoQ中文站内容建设,请邮件至china-editorial[at]infoq.com

1 条回复

回复

试用感觉 发表人 snow zhang 发表于 2007年9月25日 下午9时34分
  1. 返回顶部

    试用感觉

    2007年9月25日 下午9时34分 发表人 snow zhang

    试用了一下,200多美金感觉只是Netbean 的Ruby/Rails功能+ eclipse ATFF, 3rdRails还是任重道远啊。

独家内容

专访开源项目Amoeba架构师陈思儒

DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。

使用JSF、Ajax和Seam开发Portlets(2/3)

作为三期系列文章的第二部分,本文延续了上一期内容,介绍了RichFaces,包括如何把RichFaces集成到之前提到的示例应用中、如何部署RichFaces porlet和RichFaces的多种特性和功能。

Jeff Barr谈论Amazon Web服务

Amazon Web Services(AWS)的传道者Jeff Barr讨论了SimpleDB、S3、EC2、SQS、云计算、Amazon的不同服务如何与应用交互、AWS的起源、SimpleDB和微软SQL Server Data Services、AWS cloud的全球化、三月份的AWS停机。

用Erlang实现领域特定语言

Erlang的并发模型很有名,它的健壮性也很有名。但其他方面呢?在这篇文章里,Dennis Byrne演示了如何用Erlang建立内部DSL。

基于Rails的企业级应用剖析

本视频主要以FreeWheel为例,对一个基于Rails的企业级应用进行了剖析。其中包括:FreeWheel的架构、部署、数据库的问题、REST API、敏捷开发过程、如何去写测试以及持续集成等等。

JavaFX技术预览

JavaFX显示了Sun的Java系列产品市场方向的一个重大转变。随着1.0版的即将发布,InfoQ以JavaFX预览版为参考,与Sun高级工程师Joshua Marinacci探讨了即将发布的1.0正式版。

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。