写点什么

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

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

关注

评论

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

Excel数据转换为一对多的工具类

alexgaoyh

Java Excel 一对多解析 exsyexcel 数据解析

创新逛展体验!实时云渲染助力2023天河区首届房博会元宇宙

3DCAT实时渲染

元宇宙解决方案 元宇宙线上展厅

Picturesocial | 开发实践:如何在15分钟内将应用容器化

亚马逊云科技 (Amazon Web Services)

Docker ubuntu 容器 API

腾讯云ES AI增强搜索:十分钟快速入门自然语言处理(NLP)与向量检索

腾讯云大数据

ES

第七在线荣获百灵奖 Buylink Awards 2023零售圈年度卓越服务商品牌

第七在线

如何利用docker部署springboot 项目

想要飞的猪

官宣!OpenTiny 前端 Web 应用开发挑战赛开赛啦~30万奖金等你拿!

OpenTiny社区

开源 前端 低代码 组件库

Ronin Network 宣布与链上数据解决方案 Footprint Analytics 合作

Footprint Analytics

区块链 以太坊 加密货币

软件测试/测试开发/全日制|Page Object模式:为什么它是Web自动化测试的必备工具

霍格沃兹测试开发学社

Zynq7020 使用 Video Processing Subsystem 实现图像缩放

芯动大师

深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析

小万哥

Python 数据库 程序人生 软件工程 后端开发

2024杭州国际智慧城市,人工智能,安防展览会(杭州智博会)

AIOTE智博会

智博会 物联网展 人工智能展 智慧城市展 杭州智博会

聚合收益协议 InsFi :打开铭文赛道全新叙事的旋转门

股市老人

2023 IoTDB Summit:天谋科技高级开发工程师谭新宇《优其效:如何用 IoTDB 监控工具进行深度系统调优》

Apache IoTDB

自动化测试用例规范

无涯

自动化测试 测试开发 pytest Python自动化测试

赋能虚拟教学革命,实时云渲染助力复旦大学打造元宇宙教学

3DCAT实时渲染

元宇宙 元宇宙解决方案 元宇宙教学

全方位提升用户数字化体验的解决方案

观测云

用户体验

OpenSPG 新版发布:新增大模型知识抽取,3 步快速搭建专属知识图谱

可信AI进展

知识图谱 大模型 LLM

稳定性建设实践分享

木小风

稳定性

除了OneNote,还有什么值得推荐的手写笔记软件?

彭宏豪95

效率工具 在线白板 办公软件 笔记软件 boardmix

宇宙的尽头是带货,大模型首战在营销

脑极体

AI

软件测试/测试开发/测试管理 | Page Object模式:为什么它是Web自动化测试的必备工具

测吧(北京)科技有限公司

测试

实现高效人力资源管理的完美搭档,聚道云与薪人薪事合作,助力企业数字化转型

聚道云软件连接器

案例分享

程序员一定要知道的前端常用设计模式

不在线第一只蜗牛

前端 前端开发

国内再下两城!Zilliz Cloud 全球可用服务区增至 11 个

Zilliz

Zilliz AIGC zillizcloud 云原生向量数据库

在 zsh 中找不到刚刚安装的 MySQL 怎么破?

escray

MySQL

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