InfoQ

文章

NetBeans:Ruby开发者的新伙伴(第三部分)

作者 Roman Strobl 译者 李明(nasi) 发布于 2008年3月27日 上午3时15分

社区
Ruby,
Java
主题
工件和工具

本文是NetBeans & Ruby系列文章的最终章。前两篇文章介绍了NetBeans对Ruby的支持,请移步这里(第一部分第二部分)。

本文将介绍前两部分没有提及的特性,还将介绍众多可以使得Ruby开发更简单、更有趣的扩展插件。

附加提示和快速修补 

Tor Norbye,NetBeans中负责Ruby支持的主程序员,正努力提升编辑器中智能快速修补的数量。其中一些直接可用,而另一些则需要额外安装。之所以这样是因为它们的创建载在NetBeans本次发布以后,而且它们极有可能包含在下一个NetBeans的发布版之中。让我们通过一些简单的代码范例来看看那些常用的快速修补。

如果你使用了并不被推荐的用法,反对提示就会出现。多亏这些警告和提示,可以确保你的代码符合最新的Ruby编码标准。

如果你在一行中写了太多的代码,并想要将其扩展至多行,你可以使用如下的快速修补:

代码将会扩展至多行并被自动格式化:

接下来的快速扩展是作为插件形式的,可以在更新中心找到。你可以使用插件管理器(Tools | Plugins)来获得它们——插件的名字叫做“Ruby Extra Hints”。

IDE可以检测出你是否“遮蔽”了一个变量。例如在一个嵌套循环中:

这个情况可以有多种解决方法,因此你可以选择你认为合适的选项。如果你不想再看见此类提示的话,也可以将其禁用。

你还可以简单地将一个do/end块转换为一个{}-块。

IDE也将会在代码风格方面给与你帮助——当然这依然需要你编写清晰可读的代码,但是你将会得到建议(对于那些从其他语言转至Ruby的人很有帮助)。

有些快速修补是仅针对Rails应用的。例如,如果一个控制器缺少了相对应的查看文件action的话,将会出现如下提示:


你还可以利用一些快速修补来重构你的代码——比如引入新的变量、从已有代码中提取方法等等:

所有快速修补都可以在选项对话框中启用或禁用,因此如果哪个弹出的提示搞得你很烦的话,到Tools | Options | Ruby | Hints中禁用它即可。

除此之外还有一些其他的快速修复,你可以访问Ruby Hints的Wiki页来获得全部的列表:http://wiki.netbeans.org/RubyHints

自定义颜色主题

众多Ruby开发者都习惯于使用vi和emacs这类编辑器。这些编辑器都是以黑色作为背景色,这使得以白色作为默认背景色的NetBeans可能让你觉得有些过于明亮。幸运的是NetBeans支持颜色主题,这里有两个主题和终端文本编辑器很相似:Norway Today和City Lights。你也可以创建自己的颜色主题。在Tools | Options | Fonts & Colors来修改颜色主题,改成你最喜欢的样子。

数据库相关工具

NetBeans的数据库工具并非Ruby独有。你可以在IDE中直接管理数据库。自带的JDBC驱动提供了对JavaDB(也被称为Apache Derby)、MySQL和PostgreSQL的支持,但是在你指定JDBC驱动的位置和数据库的URL以后,你便可以连接任意其他数据库。你可以浏览数据库的表及其结构、在带有语法高亮的编辑器中编写SQL查询、运行查询并浏览结果。你也可以创建新表或者备份/恢复你的表数据。全部这些功能都是自带的——所以你不需要安装任何附加的插件。如下面屏幕截图所示,数据库管理在Services标签下可以找到。

RSpec

NetBeans也提供了对Rspec的实验性支持。RSpec是一个行为驱动开发框架,其提供的工具可以允许在代码级别通过可执行场景及可执行示例来表达用例。一旦你通过Ruby Gem(使用Tools | Ruby Gems)安装了“rspec”,你的Rails项目中将会包含一个用来包括规格文件的spec目录。如果你打开其中一个(你可使用之前介绍过的Goto Test动作),就可以使用Run File来运行规格。这样可以使用rspec来运行当前的规格文件。

附加插件

你可以安装其他实验性插件来使得Ruby编码更加舒适:

  • 拼写检查——后台拼写检查器,可以高亮注释中拼写错误的单词
  • 矩形选取——你可以以矩形来选取一段代码
  • 制表符——这个插件可以高亮代码之中的所有制表符以便于来简化制表符使用
  • 拖尾空格——这个插件会高亮拖尾得白空格
  • 快速文件选择器——将IDE的文件选择器替换为一个为键盘操作专门优化的文件选择器
  • 构建监视器——提供对Hudson持续构建服务器的监视功能
  • TODO高亮器——高亮代码中所有的TODO标记

最新的关于附加插件的信息可以在wiki页上找到:http://wiki.netbeans.org/RubyPlugins

支持Vi和Emacs

尝试去习惯新的键盘快捷键是很痛苦的。然而在NetBeans中,你不必放弃你喜欢的编辑器上的使用习惯——有一个插件不只提供了和vi类似的键盘快捷键绑定,更提供了和vi/vim类似的指令功能。如果你是个vi/vim用户,一定要试试看:http://jvi.sourceforge.net/

现在还没有为Emacs而打造的插件,然而你可以通过Tools | Options | Keymap来启用Emacs的快捷键绑定。

截屏录像

有大量的截屏录像来帮助开发者们去学习Ruby开发相关的新特性。这些截屏录像也是NetBeans Ruby教学单元的一部分。推荐想要尽快学会通过NetBeans进行Ruby开发的人们都来看看:http://www.netbeans.org/kb/trails/ruby.html

其他语言

你还可能想了解NetBeans对其他语言的支持情况。很明显对Java的支持是所有语言中最高级的,然而除了Java和Ruby外,你还能得到对其他语言的强力支持。NetBeans自从5.5版本起就已经支持C/C++开发。在NetBeans 6.0加入了对JavaScript的支持,并且计划在下个版本中对其增强。Groovy/Grails的支持正在开发中,将计划在NetBeans 6.1中以插件的形式发布。你还可以获得Erlang和Scala等语言的插件。一些老旧语言例如ASM也依然支持,因此如果你使用的语言没在所支持的列表中,请搜索相关的插件。

当讨论到语言的时候,应该提一下Schliemann项目,它提供了对通用语言的支持。你可以使用Schliemann来创建对任何语言的基本支持(包括语法高亮、代码折叠、缩进等特性都是非常容易配置的)。多亏了这个项目,NetBeans可以提供对很多很多不同语言的支持——并且如果发明了自己的语言,也可以通过Schliemann来获得一个IDE的良好支持。更多关于Schliemann项目的信息,请访问NetBeans的wiki页面:http://wiki.netbeans.org/Schliemann

更多信息

你可以在NetBeans的wiki页上找到对Ruby提供支持的更多信息。

众多演示和教程请移步Ruby文档主页

最后,你可以免费下载NetBeans IDE

你可以选择安装一个只支持Ruby的简化版IDE(提供一个特别捆绑),或者是支持Ruby全功能Java IDE。也可以使用Tools | Plugins在只支持Java的IDE中加入对Ruby的支持。

一定要试试NetBeans对Ruby的支持。如果你经常使用Ruby开发,你就会发现NetBeans就是你想要的那个IDE。

查看英文原文:NetBeans: Ruby Developer's New Best Friend (Part 3)

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。