在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:301455
用户头像

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

关注

评论

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

iOS底层原理之—dyld与objc的关联

iOSer

ios开发 iOS Developer dyld objc

架构师第一期作业(第5周)

Cheer

作业

十八、深入Python函数

刘润森

Python

云原生在京东丨基于 Tekton 打造下一代云原生 CI 平台

京东科技开发者

ci 云原生 Tekton

Servlet-技术专题-Servlet3异步原理与实践

码界西柚

老公熬夜都要看的:从基础到进阶的Java面试题,助你2021年金三银四拿下大厂offer。

996小迁

Java 编程 架构 面试 计算机

深度详解企业CRM系统,体验软件快速开发平台

Marilyn

敏捷开发 快速开发 CRM

架构师训练营第五周学习总结

邓昀垚

极客大学架构师训练营

详解GaussDB(DWS) explain分布式执行计划

华为云开发者联盟

数据库 计划 数据

蘑菇街大牛熬夜整理的Spring MVC知识点总结(思维导图+源码笔记),免费分享文档资料

Java架构之路

Java 程序员 架构 面试 编程语言

最新版MySQL在MacOS上的安装与使用

王磊

MySQL

go-zero 如何应对海量定时/延迟任务?

万俊峰Kevin

定时任务 时间轮 microservice 延迟任务 Go 语言

金九银十期间成功斩获58万架构师Offer!六面字节跳动面经和面试题分享

Java架构追梦

Java 学习 架构 面试 JVM

java安全编码指南之:ThreadPool的使用

程序那些事

java安全编码 java编码指南 java安全编码指南 java代码规范

LAXCUS大数据集群操作系统:一个分布式分时共享E级系统软件(四)

陈泽云

人工智能 大数据 数据结构 操作系统 数据存储

帆软授权失效处理

Flychen

MySQL-技术专题-联合索引最左前缀匹配原则

码界西柚

在算力“沃土”上,种植互联网下一个奇迹十年

脑极体

用Python加载数据的5种不同方式

计算机与AI

Python 数据处理

APP 莫名崩溃,开始以为是 Header 中 name 大小写的锅,最后发现原来是容器的错!

程序员小航

Java bug Header携带签名 工作笔记 问题排查

MySQL-技术专题-聚集索引和慢查询

码界西柚

忘记MySQL密码怎么办?一招教你搞定!

王磊

MySQL

目标2025:通信产业在能源变局中拥抱智能未来

脑极体

发挥区块链技术优势 确保食品安全

CECBC

区块链技术 信任机制

从资金荒、恒大事件看区块链技术在供应链金融上的应用价值

CECBC

区块链 供应链物流

手把手带你玩转 openEuler | openEuler 的使用

openEuler

操作系统 openEuler

速度(Velocity)不背这个锅

BY林子

敏捷开发 估算与计划

spring-boot-route(二十)Spring Task实现简单定时任务

Java旅途

Java Spring Boot Spring Task

sync-player:使用websocket实现异地同步播放视频

GoEasy消息推送

websocket 数据同步 实时通信

PLSQL 过程语言-结构化查询语言

Flychen

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