NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

RubyMine 2.0:动态开发的指路灯

  • 2009-11-23
  • 本文字数:2539 字

    阅读完需:约 8 分钟

市场上首批 Ruby IDE 中,JetBrains 集中精力开发的 Ruby IDE RubyMine 曾有一席之地。而今,自从 1.0 版本发布后 6 个月,RubyMine 2.0 发布了。

在第一版发布的时候,我们和 RubyMine 首席开发工程师 Dmitry Jemerov 讨论过在未来发布的版本中将会出现的特性,作为 Ruby 开发者手中最可靠的开发环境之一,RubyMine 将会不断地发展前进。

新特性的完整列表现在已经可以在 RubyMine 网站上的 What’s New 中可以查看到。这个版本的关键新特性包括:

  • 支持 Ruby 1.9 以及最新的 Ruby on Rails 架构。
  • 能够支持 Rails 工程规范的 Ruby 代码的高级重构。
  • 改进的 Ruby 代码分析以及新的代码冗余检测程序。
  • 在代码协助中的国际化(i18n)支持。
  • 对创建和运行 Cucumber 测试和 Shoulda 测试进行特定的协助。

InfoQ 和 JetBrains 的产品市场经理 Eugene Toporov 进行过一次对话,主要讨论了 RubyMine 2.0 发布的相关情况。

当询问到 2.0 版中最重要的特性的时候,Eugene 说:

大致来说,我们在 RubyMine 2.0 上做的工作已经满足了大部分 Rails 应用开发者的需求。在这个版本中,我认为我们的 IDE 紧密整合了 Ruby and Rails 中大部分广泛应用的技术和架构。

我们努力在多个方面取得成就。JetBrains 是重构工具的先行者,所以我们希望 Ruby 开发者能够有一系列稳定的代码重构工具。测试也是开发过程中的一个重要环节,我们加入了对 Cucumber 和 Shoulda 的完整支持,RubyMine 现在能够满足任何可视化 Ruby/Rails 工程的需要了。另外一个很重要的方面是 IDE 的性能,我们在这方面也下了很多功夫。

现在 Cucumber 和 Shoulda 在 RubyMine 中非常受到重视。这也是 JetBrains 非常感兴趣的方向之一:

是的,当然!我们非常高兴 RubyMine 团队能够使用 Cucumber 来测试我们的代码。所以,我们现在已经提前内部试用了我们的 Cucumber 整合解决方案,我们非常自信地认为这是编辑和使用 Cucumber 测试的最好解决方案。智能步骤补全功能非常优秀,即使有一大堆步骤定义,你也无须准确地记住他们。从使用中创建的步骤定义和自动样例创建也能节省巨大的时间。

那些喜欢使用 Shoulda 的开发者现在也能够很高兴地发现他们能够在 RubyMine 中使用他们的架构编写和运行测试,由于有代码协助,我们也可以运行单独的测试用例以及其他在整合的测试架构中提供的功能。

在 RubyMine 中提供的 i18n 支持也是一个主要的新特性,这个特性已经在实际工程中实践过了。Eugene 解释了这个特性的个人体验:

哈,i18n 是我最喜欢的特性之一。今年春天,我在没有任何 IDE 提供的协助下,对 Radiant CMS 进行本地化工作。而近期我使用 RubyMine 2.0 做了更多的国际化工作。差距是很大的啊!从代码中解出字符串,无论是从 Ruby 视图还是 Rails 视图(ERB 或者 HAML),仅仅是几秒钟的事情,而且更加简单不易出错。你也可以很迅速地在本地化文件中检视,查看哪些文本是你的代码生成的,无论你的应用包含多少种语言,使用 RubyMine,工作将会简单很多。

开发者生产率是这个版本主要考虑的因素,在这个问题上,答案是显而易见的:

有很多我们需要考虑的因素。其中某些还非常重要,例如代码冗余检测程序。它对项目代码进行检查并且寻找相似的代码块。我们已经在很多开源 Ruby 项目中测试了这个功能,甚至包括 Rails 架构代码。它给出了相当有趣和实用的结果。

同样也有大量的细节是开发者需要关注的。一个能够节省大量时间的功能是“从用法中创建”这个动作,这个功能允许从对象的用法中创建不同的元素。你也可以在代码中使用一个不存在的方法,然后调用快速修正功能来快速创建它。这个功能能够创建新的 action、partial、JavaScript 和 CSS 文件。

相比 RubyMine 1.x 版本,新版本是在最新的 IntelliJ 平台上构建的,这个平台提供了大量的 IDE 通用功能以及性能优化 - 在 VCS 支持,UI 和易用性上。一个例子是对文件和文件夹可以自定义背景色。现在,当你在编辑器中打开 3 个 show.html.erb 文件,你能从标签栏上的颜色中分辨出来它们各自的用途。

然后我们的讨论转向了 Ruby 1.9.1 支持以及 RubyMine 2.0 是如何提供与之前版本不一样的支持方式:

事实上,RubyMine 1.x 只是允许使用 Ruby 1.9 作为目标 SDK,而不是真正地“理解”了它的新语法。现在 RubyMine 的编辑器知道并且理解了新的 lambda 语法、局部变量语义等。这并不仅仅是代码高亮,知识系统现在已经是 RubyMine 代码分析程序的一部分。

重构也是 JetBrains 过去产品中一个非常优秀的特性。当问及 2.0 中重构的级别的时候,他说:

RubyMine 2.0 加入了一些新的重构,例如抽取模块 / 超类,引入变量 / 常数 /Field,内联变量以及取出 / 放入成员。这些重构功能已经足够让项目代码通过做一些项目级的改动来保持一个优雅的风格。旧有的抽取方法这个重构功能现在更加智能,易于使用,并且在 Rails 项目上工作得更好。

一个有意思并且很重要的特性是集成了 TeamCity 的持续性集成(CI)服务器,Eugene 解释了如何在开发者的工作流中使用 CI 服务器。

使用 TeamCity Rake Runner ,你可以为你的 Ruby/Rails 项目进行持续性的集成,并且在一个专用的环境中运行测试。一旦安装了 TeamCity 的插件,RubyMine 允许直接从 IDE 在 build-server 构建项目,检视构建和统计结果,以及运行测试前提交。另外,在浏览测试结果或者 VCS 历史的时候,你还可以在 RubyMine 里面从 TeamCity 的 web UI 中打开源码文件。

下面让我们来看看开发者可以在未来期待些什么吧:

关于 RubyMine 的未来,我们已经制定了一个长期的路线图,在 2.0 版发布之后,我们将抓紧时间,分别进行不同版本的开发。一些将会加入的特性有集成的 SQL 控制台,部署功能支持以及更好的 Rails 开发支持,包括 Rails 3.0 支持。我们将会集成 Issue Trackers,包括 JetBrains YouTrack 。当然我们也会持续地改善现有集成功能的性能。我们一直努力保持在技术的最前沿,并且根据业界的发展趋势和用户需要制定计划,所以,如果你需要什么功能的话 - 告诉我们吧

JetBrains 的网站上,你可以找到 RubyMine 的新特性列表,并且可以下载一个免费的 30 天评估版本。RubyMine 1.x 的用户可以免费升级到 RubyMine 2.0,这个版本现在可以运行在 Windows、Mac OS X 和 Linux 上。

查看英文原文: RubyMine 2.0 : A Clear Path to Dynamic Development

2009-11-23 04:301905
用户头像

发布了 90 篇内容, 共 32.9 次阅读, 收获喜欢 5 次。

关注

评论

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

HDD杭州站·HarmonyOS技术专家分享HUAWEI DevEco Studio特色功能

HarmonyOS开发者

HarmonyOS

测试驱动开发(TDD)在线练功房 | 9月17日开课

ShineScrum捷行

敏捷 测试 TDD 代码 测试驱动开发

阿里架构师花近三个月时间整理出来的Java独家面试题(Java岗)

程序员啊叶

Java 编程 程序员 架构 java面试

柏睿数据加入阿里云PolarDB开源数据库社区

阿里云数据库开源

开源数据库 polarDB PolarDB-X 阿里云数据库 PolarDB for PostgreSQL

华为被迫开源!从认知到落地SpringBoot企业级实战手册(完整版)

程序猿阿宇

Java 程序员、 秋招 构架 面试‘

阿里Java架构师面试高频300题:集合+JVM+Redis+并发+算法+框架等

程序员啊叶

众人呼唤的 Java 单商户系统,究竟有什么过人之处?

CRMEB

终极套娃 2.0 | 云原生交付的封装

尔达Erda

云计算 程序员 微服务 云原生 开发

手把手教你在 Vue3 中自定义指令

江南一点雨

离谱!这本书居然将高深莫测的Java高并发知识讲解得浅显易懂

了不起的程序猿

Java Java并发 java程序员

CircleIndicator组件,使指示器风格更加多样化

OpenHarmony开发者

OpenHarmony

不愧是阿里内部“千亿级并发系统架构设计笔记”面面俱到,太全了

冉然学Java

Java 高并发系统设计 技术栈 构架 高并发处理

优必选大型仿人服务机器人Walker X的核心技术突破

优必选科技

机器人

今天去 OPPO 面试,被问麻了

程序员啊叶

Java 编程 程序员 架构 java面试

城市燃气安全再拉警钟,如何防患于未“燃”?

AIRIOT

物联网 天然气管理平台 燃气安全

华为2023届提前批预热开始!左 神的程序代码面试指南终派上用场

程序猿阿宇

Java 算法 后端 Java工程师 算法刷题

怒冲GitHub榜首!京东T8幕后打造高并发面试手册,狂虐阿里面试官

程序猿阿宇

Java 高并发 阿里 构架 面试‘

如何构建面向海量数据、高实时要求的企业级OLAP数据引擎?

字节跳动数据平台

数据仓库 云原生 OLAP Clickhouse

BATM面试Java岗:精选200+面试题及答案、6大重点规划和经验总结

程序员啊叶

Java 编程 程序员 架构 java面试

兆骑科创海内外高层次创新创业人才服务平台,双创成果转化平台

兆骑科创凤阁

兆骑科创高质量海归人才双创服务平台,线上直播路演

兆骑科创凤阁

1000个字带你一次性搞懂JavaAgent技术,反正我是彻底服了

程序员啊叶

Java 编程 程序员 java面试 构架

闭关吃透Java性能手册,成功拿到字节Offer!不愧是阿里内部资料

程序猿阿宇

Java 后端 阿里 Java工程师 构架

Beyond Compare 4 实现class文件对比【最新】

白粥

工具 Beyond Compare 文件对比

哪个led显示屏厂家更好

Dylan

LED显示屏 led显示屏厂家

墨天轮高分技术文档分享——数据库安全篇(共48个)

墨天轮

MySQL 数据库 oracle postgresql 数据库安全

一次性把Docker的概念、容器与虚拟机的区别、容器交付的优势讲清

程序员啊叶

Java 编程 程序员 架构 java面试

从业务需求出发,开启IDC高效运维之路

鲸品堂

IDC

算法题每日一练---第9天:第几个幸运数字

知心宝贝

算法 前端 后端 7月月更

7.依赖注入

MASA技术团队

后端

十字链表的存储结构

乔乔

7月月更

RubyMine 2.0:动态开发的指路灯_Ruby_Robert Bazinet_InfoQ精选文章