在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

移动端弱网优化:字节跳动移动端网络HttpDNS优化实践

JackJiang

网络编程 HTTP DNS httpdns

NeurIPS 2025 | 从数据微调到反馈优化!可灵团队提出基于人类反馈的视频生成训练范式

快手技术

大语言模型 NeurIPS 顶会论文

告别卡顿!海外多语言视频直播APP源码中零延迟直播功能实现方案

山东布谷网络科技

海外直播APP源码 语聊平台搭建 国际版多语言APP开发 直播源码交付

蚂蚁国际与巴林国家支付网络BENEFIT达成合作

Lily

AI 客服公司 Sierra ARR 破 1 亿美元;育碧推出 AI 语音游戏《队友》:语音指令掌控战局,NPC 即兴互动丨日报

RTE开发者社区

从园区到碳中和:MyEMS如何助力区域产业集群实现多能互补与协同降碳

开源能源管理系统

开源 开源能源管理系统

数字孪生项目的开发

北京木奇移动技术有限公司

数字孪生 软件外包公司 webgl开发

移动端弱网优化:移动端网络HttpDNS优化实践

JackJiang

1688商品详情API完整指南

Datafox(数据狐)

1688商品详情接口 1688API 1688商品数据采集 1688商品详情API

工业制造的“能效协奏曲”:MyEMS如何通过“能耗-生产工况”关联模型优化设备启停时序

开源能源管理系统

开源 能源管理系统

SSL证书详解:类型、工作原理与获取指南

qife122

SSL证书 加密技术

国外舆情监控软件终极指南:从入门到精通的选择策略

沃观Wovision

舆情监控 海外舆情监控 海外舆情 社交媒体监控 舆情监测服务

2026 出海媒体监控服务终极指南:从策略到工具选型

沃观Wovision

出海社交 出海 社交媒体监控 海外社交媒体监控 出海舆情

通过Amazon Q CLI 集成DynamoDB MCP 实现游戏场景智能数据建模

亚马逊云科技 (Amazon Web Services)

人工智能

软件测试转 AI 测试开发?这些面试题你必须知道!

测试人

人工智能 软件测试

海外媒体监测服务的价值重构:从数据采集到战略决策的全流程赋能

沃观Wovision

社交媒体 舆情监测 社交媒体监控 海外社交媒体监控 社媒分析

打造透明化智能车间:数控机床制造业MES系统

万界星空科技

mes 万界星空科技mes 制造业转型 数控机床行业 数控机床MES

报销单 / 申请单打印不用愁!JNPF 打印设计全流程,一键拿捏

引迈信息

开源技术驱动与架构创新:AI领域的破局之道

澜舟孟子开源社区

人工智能 大模型

JSAPIThree 标签使用学习笔记:在地图上添加文字和图标

map_3d_vis

学习笔记 标签 mapvthree 文字标签

AI中台与智能体开发:智能体开发的“效率引擎”

上海拔俗

智能客服新纪元:如何用AI知识库打造7×24小时在线服务

百川云开发者

技术赋能服务:AI驱动下的国外舆情监控服务升级路径

沃观Wovision

舆情监控 海外舆情监控 舆情监控网站 境外舆情监控 国外舆情

聊聊场景题:百万人同时点赞怎么办?这个怎么回答

程序员小富

外部合作团队接入无忧!嘉为蓝鲸DevOps基础管理平台多租户管理,数据隔离防泄露

嘉为蓝鲸

研发效能 研发协同 基础管理平台 DevOps平台 CComm

数字化转型的 “杠杆”:企业如何借助 MyEMS 在 3-12 个月内收回投资并实现持续节能

开源能源管理系统

开源 开源能源管理系统

12月3日在线分享直播预告

ShineScrum

敏捷活动

为什么企业死盯第一学历?

测试人

软件测试

JimuReport 积木报表 v2.2.0 版本发布,免费的可视化报表和大屏

JEECG低代码

AI 数据可视化 报表 积木报表 报表工具

1688商品列表API完整指南

Datafox(数据狐)

1688API 1688商品数据采集 1688数据采集 1688商品列表api 关键词搜索1688商品列表

声网 CEO 赵斌:对话式 AI 加速 RTE 进化,实时互动步入万亿分钟时代

RTE开发者社区

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