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

阅读数:249 2007 年 9 月 25 日

话题:RubyRuby on 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