免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

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

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

关注

评论

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

Solr数据迁移ES

腾讯云大数据

ES

Masks Person面具人MAR现在值得参与吗

币离海

2023年中国信通院铸基计划“文本图像篡改检测系统技术规范”研讨会成功召开

合合技术团队

中国信通院 文本 合合信息 研讨会 图像篡改

“银河护卫队总部”放大招!Milvus 核心组件再升级,主打就是一个低延迟、高准确度

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

企业大数据传输的四类方式及镭速解决方案

镭速

大数据传输

亚信科技AntDB数据库携“U8C+AntDB联合产品”亮相“2023全球商业创新大会”,开启生态合作新篇章

亚信AntDB数据库

数据库 AntDB AntDB数据库

跨平台.NET IDE集成开发 Rider 激活码破解版

mac大玩家j

开发环境 Mac软件

堆叠大陆 Stacklands for Mac(卡牌游戏)v1.3.4中文原生版

mac

堆叠大陆 苹果mac 村庄建设游戏 Stacklands 卡牌游戏

选择正确的框架:探索 Spring Cloud 和 Dubbo

Liam

程序员 微服务 Spring Cloud dubbo 后端

木鱼一敲烦恼丢掉,一个恢复内心平静的赛博空间

荣耀开发者服务平台

小程序 前端 安卓 组件 服务卡片

交易所开发源码,数字货币永续合约交易平台搭建

V\TG【ch3nguang】

交易所开发

文心一言 VS 讯飞星火 VS chatgpt (87)-- 算法导论8.2 4题

福大大架构师每日一题

福大大架构师每日一题

低代码实现软件的快速交付与部署

互联网工科生

软件开发 低代码 企业级低代码平台

人工智能的优势:使用 GPT 和扩散模型生成图像

3D建模设计

人工智能 生成式AI

Python 套接字编程完整指南

3D建模设计

Python

安全大文件传输对行业重要性

镭速

大文件传输 传输大文件 安全大文件传输

区块链交易所开发, 币币交易系统搭建

V\TG【ch3nguang】

华为主题十周年共创海报还能这么玩?

最新动态

解锁项目管理神器——低代码开发平台

力软低代码开发平台

你折腾一天都装不上的插件,函数计算部署 Stable Diffusion 都内置了

Serverless Devs

Serverless 模型

数据库顶会 VLDB 2023 论文解读:字节跳动如何解决超大规模流式任务运维难题

字节跳动云原生计算

flink 流式计算 VLDB

通过一流的NFT开发提升您的数字形象

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

OpenAI 函数调用教程

3D建模设计

openai ChatGPT

LRTimelapse 6 for Mac(延迟摄影编辑渲染软件)v6.5.2中文激活版

mac

苹果mac Windows软件 LRTimelapse 6 时间轴制作软件

Linux 可执行文件瘦身指令 strip 使用示例

互联网工科生

Linux 资源

国际顶会SC23收录唯一区块链论文,微众银行技术实力受学术界认可

新消费日报

Zookeeper简述

数新网络官方账号

zookeeper 后端 ZooKeeper原理

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