【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

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

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

关注

评论

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

低代码与鸿蒙开发:重塑软件开发的未来

不在线第一只蜗牛

低代码 鸿蒙开发 鸿蒙系统

ElasticSearch架构介绍及原理解析

霍格沃兹测试开发学社

Jira自动化的实用工具——ScriptRunner简介及最佳实践

龙智—DevSecOps解决方案

DevSecOps

1688代采系统,淘宝代购系统,海外淘宝代购系统,淘宝代购集运系统

api开发

ETL的数据挖掘方式

RestCloud

数据挖掘 ETL 数据集成

李彦宏:程序员职业将不复存在,会说话就能当程序员;ChatGPT 日耗电超 50 万度丨 RTE 开发者日报 Vol.161

声网

继续总结Python中那些简单好用的用法

快乐非自愿限量之名

Python windows 开发语言

Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%

SelectDB

数据库 大数据 查询性能 物化视图 #数据分析

破晓未来·迎接智能新时代:混合 AI 大模型开发者工作坊震撼预告

阿里巴巴云原生

阿里云 云原生

亮点功能:流水线编辑支持并行了!

Jianmu

DevOps

2024上海国际气浮设备与技术展览会

吹吹晚风

Docker cp命令详解:在Docker容器和主机之间复制文件/文件夹

霍格沃兹测试开发学社

Vue3 - 插槽 Slots

霍格沃兹测试开发学社

2024上海国际冷凝器与冷却器技术设备展览会

吹吹晚风

好用的AI绘画软件,一次安利给你

霍格沃兹测试开发学社

解决Java中文显示乱码问题的原因与方案

霍格沃兹测试开发学社

2024北京国际智能机器人展览会

AIOTE智博会

机器人展 智能机器人展

如何关闭Windows自动更新

霍格沃兹测试开发学社

AI+办公!5款超实用AI软件,一键生成PPT、视频、思维导图等!

彭宏豪95

人工智能 在线白板 AIGC 效率软件 AI生成PPT

2024上海国际反应精馏技术及设备展览会

吹吹晚风

一文看懂如何做好 SQL 质量监控

阿里巴巴云原生

sql 阿里云 云原生

MySQL安装最全最简教程

霍格沃兹测试开发学社

IT外包的三大优势对企业的发展有何影响?

Ogcloud

IT IT外包 IT外包公司 IT外包服务 IT外包企业

2024上海国际泵业及配件产业展览会

吹吹晚风

2024上海国际离心机及压滤机技术设备展览会

吹吹晚风

嘿!AI 编码新玩法上线!

阿里巴巴云原生

阿里云 AI 云原生

龙智携全方位芯片解决方案亮相IIC Shanghai 2024,助力客户解决复杂的芯片研发挑战

龙智—DevSecOps解决方案

芯片开发 芯片研发

企业云服务器免费使用后会存在哪些隐患?

一只扑棱蛾子

云服务器 企业云服务器

2024年AI辅助研发趋势:数智时代革新新引擎

EquatorCoco

人工智能 AI辅助

Atlassian被Forrester评为企业服务管理领导者,Jira Service Management助力提升团队服务水平

龙智—DevSecOps解决方案

Atlassian Forrester企业服务管理

小白一眼就能懂的JSON简介与基本使用指南

霍格沃兹测试开发学社

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