写点什么

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

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

关注

评论

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

DNA to Face,会是寻人缉凶的一颗“银弹”吗?

脑极体

39 个 Java 集合框架面试题

逆锋起笔

java面试 死磕 Java 基础 3月月更 Java集合框架

用 vite 2 平滑升级 vue 2 + webpack 项目实战

CRMEB

Flutter ChartSpace:通过跨端 Canvas 实现图表库

字节跳动终端技术

flutter 字节跳动 前端 canvas 图表库

Python 获取字典中的第一个键

AlwaysBeta

Python 程序员 编程语言 字典

知识管理的成功案例大赏

小炮

在充满挑战的时代天翼云以数字化加速市域社会治理现代化

天翼云开发者社区

VuePress 博客优化之增加 Valine 评论功能

冴羽

JavaScript 前端 vuepress 博客搭建 Alogia

java高级用法之:调用本地方法的利器JNA

程序那些事

Java nio 程序那些事 3月月更

电商秒杀系统架构设计文档

皓月

「架构实战营」

Linux中如何使用Htop监控工具?【网络安全】

H

Linux 网络安全

实用机器学习笔记二十四:模型调参

打工人!

学习笔记 机器学习算法 3月月更 模型调参

天翼云发布云原生关系型数据库TeleDB for openGauss

天翼云开发者社区

东方电机打造大国重器 携手天翼云挺起智能制造新脊梁 智能制造的力量 东方电机的数字化前行之路

天翼云开发者社区

人脸识别闸机惊艳美国运动员背后的黑科技是如何实现的?

天翼云开发者社区

如何打造极速数据湖分析引擎

StarRocks

数据库 数据分析 StarRocks

不为人知的网络编程(十四):拔掉网线再插上,TCP连接还在吗?一文即懂!

JackJiang

网络编程 TCP/IP TCP协议 即时通讯IM

恒源云(GpuShare)_医学图像分割:MT-UNet

恒源云

深度学习 机器翻译 transform

操作系统面试总结

yuexin_tech

操作系统

毕业总结

whoami

架构训练营

写给20几岁的程序员

shellc

财富 35岁

华为SmartCare和AUTIN品牌升级:助力运营商走出5G发展迷宫

白洞计划

URL重定向及跳转漏洞

喀拉峻

网络安全

基于云效代码管理的源码漏洞检测是怎样的?

阿里云云效

阿里云 代码 代码管理 源代码 Codeup

毕业总结

皓月

「架构实战营」

程序员硬核测评:全方位测评 GaussDB(for Redis) 和开源 Redis

华为云数据库小助手

性能分析 GaussDB GaussDB ( for Redis ) 华为云数据库 开源Redis

产品帮助中心的制作方法及工具推荐

小炮

以数字化为引领天翼云助力中安公司应急管理云平台上线

天翼云开发者社区

翻译 | 解读首部 Kubernetes 纪录片

RadonDB

开源 Kubernetes RadonDB

【51单片机】点亮LED灯(四种形式)

謓泽

3月月更

Go实现并发聚合,批量提交功能

人生如梦

Go 并发 请求聚合

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