写点什么

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

  • 2008-03-27
  • 本文字数:2699 字

    阅读完需:约 9 分钟

本文是 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)

2008-03-27 03:152284
用户头像

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

关注

评论

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

NOSQL or NEWSQL

大唐小生

sql nosql

技术贴丨教你使用华为云鲲鹏服务器部署Discuz!论坛

华为云开发者联盟

鲲鹏920 服务器 华为云 Discuz! 华为云鲲鹏

关于微信电子发票生态,这三种服务商最有机会

诸葛小猿

电子发票 发票

并发-草稿

superman

SpreadJS 纯前端表格控件应用案例:SPDQD 质量数据云

葡萄城技术团队

SpreadJS 案例

我还在生产玩 JDK7,JDK 15 却要来了!|新特性尝鲜

楼下小黑哥

Java jdk

架构师训练营第九章总结

叮叮董董

Atlassian 重磅推出12个新功能为您打造全新 DevOps 体验!

Atlassian

项目管理 DevOps Atlassian Jira

HomeWork

天之彼方

一周信创舆情观察(7.27~8.2)

统小信uos

秒杀系统的挑战和应对方案

2流程序员

架构师训练营 - 第九周 - 作业

韩挺

JVM学习总结

jason

秒杀系统设计初稿

jason

【第九周作业】

Aldaron

LeetCode题解:189. 旋转数组,3次翻转,JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构师训练营第九章作业

叮叮董董

微服务架构下的核心话题 (一):微服务架构下各类项目的顺势崛起

xcbeyond

架构 微服务

Elasticsearch从入门到放弃:瞎说Mapping

Jackey

elasticsearch

树莓派上安装docker记录

田振宇

《RabbitMQ》如何保证消息的可靠性

Java旅途

JVM系列之:从汇编角度分析Volatile

程序那些事

Java JVM JIT 汇编

当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮

鄙人薛某

Java 面试 集合 java基础

秒杀系统的架构设计

莫莫大人

面经手册 · 第2篇《数据结构,HashCode为什么使用31作为乘数?》

小傅哥

Java 数据结构 面试 小傅哥

Ubuntu启动盘无法格式化

kraken0

训练一个数据不够多的数据集是什么体验?

华为云开发者联盟

数据 数据集 华为云 标签 modelarts

第9周总结+作业

林毋梦

计算机网络基础(十四)---传输层-UDP协议详解

书旅

计算机网络 网络 协议栈 通信协议

Docker-compose实战

北漂码农有话说

尚未到来的远程工作

张凯峰

敏捷 敏捷开发 软件开发 远程办公 thoughtworks

NetBeans:Ruby开发者的新伙伴(第三部分)_Java_Roman Strobl_InfoQ精选文章