速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

权威认可!腾讯云数据安全中台入选2021先锋实践案例

腾讯安全云鼎实验室

#腾讯云 数据安全中台

解读 AppStore 新功能:自定义产品页面和 A/B Test 工具

37手游iOS技术运营团队

ios apple AB testing实战 appstore 马甲包

星火矿池APP源码开发

获客I3O6O643Z97

区块链+

Triton推理服务器在阿里云机器学习PAI-EAS公测啦!!!

阿里云大数据AI技术

【大牛系列教学】2021年Android程序员职业规划

欢喜学安卓

android 程序员 面试 移动开发

对标Shopify的千亿市值,有赞还要走多久?

ToB行业头条

SaaS 电商SaaS

MARVEL奇迹币矿池系统软件开发

获客I3O6O643Z97

挖矿矿池系统开发案例 云算力软件系统开发定制 蚂蚁矿池

和12岁小同志搞创客开发:遥控舵机

不脱发的程序猿

DIY 创客开发 控制舵机

如何优雅地关闭SpringBoot应用程序?听我给你讲

麦洛

Spring Boot

【大牛疯狂教学】熬夜整理2021最新Android高级笔试题

欢喜学安卓

android 程序员 面试 移动开发

程序员上班“划水”向阿里猛投简历,两次被刷后,终成“菜鸟”P6

Java 程序员 架构 计算机

Flutter Android 工程结构及应用层编译源码深入分析

工匠若水

flutter android dart Gradle 工匠若水

ICML 2021顶会来袭,百度飞桨AI硬实力集中展现

百度大脑

人工智能 机器学习 百度

IPFS矿机最新消息?Ipfs矿机公司实力排行?

fil矿机 ipfs矿机 ipfs矿机最新消息是什么? ipfs矿机公司实力排名?

mysqldump备份技巧分享

Simon

MySQL 逻辑备份

穿越六年艰难转型,明道云终于再获主流投资

明道云

互联网

短视频商城系统开发(案例)

開發15347427695

MDF智能合约挖矿系统开发(案例)

開發15347427695

有图有真相!平衡二叉树AVL实现

Ayue、

数据结构

策略+IOC 消灭ifelse,拿来吧你

skow

Java 设计模式 代码设计

服务限流限流算法、限流策略以及该在哪里限流

Jokay

高可用 分布式限流 限流算法 限流 单机限流

详解Spring中Bean的作用域与生命周期

华为云开发者联盟

spring 容器 ioc bean Bean对象

《2021 年中国视频云场景应用洞察白皮书》联合首发!

阿里云CloudImagine

阿里云 计算机视觉 音视频 直播架构 视频云

从零开始学习3D可视化之2D界面

ThingJS数字孪生引擎

大前端 可视化 3D可视化 数字孪生

我们为什么要选择 Rust 而不是 Golang 或 C/C++ 来开发 TiKV ?

恒生LIGHT云社区

编程 rust 语言 & 开发

九环智能合约系统开发(案例)

開發15347427695

FIL云算力系统开发(案例)

開發15347427695

频繁创建基于Etcd实现的分布式锁会有什么问题?

BUG侦探

分布式锁 etcd 内存泄漏

物联网通信技术,那些你不知道的事

华为云开发者联盟

物联网 网络 通信 有线 无线

图解URL、URI和URN 区别

devpoint

API url 7月日更

【CRUD工程师的末路?程序员开发福音?】AI编程工具——GitHub Copilot推介

恒生LIGHT云社区

人工智能 GitHub 编程

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