写点什么

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

  • 2007-09-25
  • 本文字数:1963 字

    阅读完需:约 6 分钟

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

2007-09-25 19:301219
用户头像

发布了 479 篇内容, 共 171.7 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

区块链之共识算法系列——PoW(二)

Regan Yue

区块链 11月日更 趣讲区块链

C++ 动态新闻推送 第37期

很水

c++

Redis计算UV的4种方法

大数据技术指南

11月日更

12 K8S之应用容器及Pod资源

穿过生命散发芬芳

k8s 11月日更

JDK还是Google,正则表达式引擎孰优孰劣?

后台技术汇

正则表达式 11月日更

Go语言,反射机制,反射三定律!

微客鸟窝

Go 语言 11月日更

Vue进阶(幺玖捌):js 判断 document.getElementByid(““) 获得的对象是否存在

No Silver Bullet

Vue 11月日更

Flutter怎么实现地图导航功能?

坚果

flutter 11月日更

【Flutter 专题】10 图解底部状态栏小尝试

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

【Promise 源码学习】第五篇 - 实现 Promise 对异步操作的支持

Brave

源码 Promise 11月日更

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」帮你梳理RocketMQ或Kafka的选择理由以及二者PK

码界西柚

kafka RocketMQ 消息队列 11月日更

架构实战营模块5课后作业

胡颖

架构实战营

dart系列之:dart类中的构造函数

程序那些事

flutter dart 程序那些事 11月日更

模块三-外包学生管理系统架构

小何

「架构实战营」

C++ 动态新闻推送 第35期

很水

C++ 动态新闻推送 第34期

很水

C++ 动态新闻推送 第33期

很水

无AI的五子棋Vue项目

空城机

JavaScript typescript 大前端 11月日更

模块三-学生管理系统架构设计文档

迪马

sonar 使用常见问题总结

liuzhen007

11月日更

浏览器存储之 localStorage 和 cookie

devpoint

Cookie LocalStorage sessionStorage 11月日更

Go语言,面试官问我go逃逸场景有哪些,我???

微客鸟窝

Go 语言 11月日更

数据库自增ID用完了会怎样

喵叔

11月日更

Android C++系列:JNI引用管理

轻口味

c++ android 11月日更

孔夫子旧书网数据采集,举一反三学爬虫,Python爬虫120例第21例

梦想橡皮擦

11月日更

一个程序员日常工作中对于Github的一些另类用法

汪子熙

JavaScript GitHub SAP 11月日更

博文推荐|传智教育 x Pulsar:互联网教育的未来

Apache Pulsar

架构 云原生 消息中间件 Apache Pulsar 消息系统 互联网教育

数据仓库之数据质量建设(深度好文)

五分钟学大数据

11月日更

研发提效:通过设计稿自动生成前端代码。

石云升

大前端 自动生成 11月日更 研发提效

【高并发】不得不说的线程池与ThreadPoolExecutor类浅析

冰河

Java 并发编程 多线程 高并发 异步编程

Python Qt GUI设计:窗口布局管理方法【强化】(基础篇—6)

不脱发的程序猿

Python qt GUI设计 窗口布局管理方法

CodeGear发布Ruby/Rails IDE——3rdRail:纳入动态方法智能完成功能_Ruby_Scott Delap_InfoQ精选文章