最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

  • 2007-12-25
  • 本文字数:2482 字

    阅读完需:约 8 分钟

本文是 NetBeans & Ruby 系列的第二篇。上一篇介绍了NetBeans 中新的Ruby 支持。

在这一部分,我将主要讨论Ruby on Rails 工具,以及围绕着编辑器内内外外的各种能帮助你提高生产力的附加功能。IDE 这个词本身就是集成开发环境的缩写,因此你将会看到使用NetBeans 之后,就不用再为了使用Ruby 和Rails 而切换到命令行了。

Ruby on Rails 支持

在 NetBeans 里面创建新的 Ruby 应用程序的时候,你可以从不同的模板当中选择——你可以创建普通的 Ruby 应用,也可以创建 Ruby on Rails 应用。

创建 Rails 项目的时候,IDE 会让你选择要用原生 Ruby 还是 JRuby,选择要用哪个数据库驱动(如果是 JRuby 还包括 JDBC),还乐意很方便地升级到最新版的 Rails。确认新建项目对话框之后,项目的默认目录结构就会建好。这是 Rails 的一大优点,由于所有的应用结构都差不多,所以你拿到别人建立的项目也会很快上手。NetBeans 的项目浏览器能让你对项目文件之间的整体逻辑有个直观的感受,你也可以方便地浏览它们。

你可以直接在 IDE 里面使用 Rails 生成器——在项目上点右键就可以选择使用哪个生成器,填好参数,运行,接着你就会在输出窗口看到生成器的输出了。

你在开发的时候还可以用上编辑器的代码完成、重构、快速修补等等功能(本系列的第一部分介绍了编辑器的部分特性)。要是准备好运行你的程序了,什么配置都不用做,直接按下运行按钮就可以了——NetBeans 捆绑了Webrick 服务器来运行你的应用。浏览器窗口会自动打开。如果你打算调试程序,IDE 还会在调试模式运行Webrick 服务器。当然,你也可以很容易地把服务器换成Mongrel。

IDE 还集成了 Rake,因此你可以在项目中执行 Rake 目标:

调试 Rake 目标也很容易,运行迁移脚本,与 Rails 控制台交互,这些都可以在 IDE 里完成。你还可以通过一个特殊的对话框安装各种 Rails 插件。还有很多其他 Rails 开发方面的特性,希望我举的这些例子能让你对在 NetBeans 中开发 Rails 应用有个初步的印象。

编辑特性

我在上一部分已经介绍过一些编辑方面的特性(代码完成和重构)。我认为 NetBeans 的编辑器应该是大多数 Ruby 开发者都会喜欢的——随时都会发现一些贴心的小功能。例如当你创建一个新方法的时候,编辑器会自动插入结束语句,并把光标定位到方法中间那一行。你还可以看到各种元素,比如变量在文件中出现的所有位置:

如果我想给一个变量改名,只需要按一下 Ctrl-R,文件中所有用到该变量的地方都会一下子改好:

漂亮的语法着色方便了在代码中定位,甚至 RubyDocs 也有语法着色。你一边输入,编辑器就会一边把错误用下划线标出来,NetBeans 还会告诉你哪些变量是没用到的,好让你删掉它们。

如果你按着 CTRL 键,同时把鼠标移到任何类、方法或者变量上面,编辑器会把你带到它们的声明。你还可以看到一个小提示,告诉你当前选中元素的用途。

你也可以使用代码模板。你可以在很多预定义的模板里面选择,自己创建新模板也很容易。在模板里面可以设置模板展开后光标的位置,还可以预先插入各种变量。因此要是你经常使用某些 API,模板就很有帮助。

还有很多编辑特性不能一一介绍,请查阅关于 Ruby 编辑的 Wiki 页面: http://wiki.netbeans.org/wiki/view/RubyEditing

Gem 管理器

Gem 管理器(Tools | Ruby Gems)可以安装新版本的地 Gem,浏览、升级已经安装的 Gem 等等,请看下面的截图。用户界面和 NetBeans 插件管理器以及 Rails 插件管理器都很相似,因此你并不会感到陌生。在 Ruby 仓库里有很多很多 Gem,想找什么库的时候全文搜索一下会很有帮助。

## Ruby 选项

我前面提过,你可以在原生 Ruby 或者 JRuby 之间切换。IDE 默认使用 JRuby,因为它捆绑了 JRuby,不过只要告诉 IDE 现有 Ruby 的安装位置,它就会改用你指定的 Ruby,不管是什么操作系统。

选项对话框里面还可以选择是使用经典调试器,还是使用快速调试器。不过在 JRuby 环境下你只能用经典调试器,虽然慢一点,但能适应各种情况。在原生 Ruby 环境下可以使用快速调试器(很容易安装,IDE 会去下载它),这是 Ruby 推荐使用的调试器。选项对话框还有两个选项页:“格式化”控制编辑器里的格式化设置,“提示”控制编辑器里那些“小灯泡”的出现。

单元测试

单元测式功能集成得很出色。例如当你创建一个新模型的时候,一个新的单元测时也会自动创建好。这是 Ruby on Rails 的一个特色,它的哲学是单元测试太重要了,绝对不可缺少。单元测试也可以直接在编辑器里运行,编辑器里当然还可以浏览测试类。

如果你真的很在意测试,可以安装“ZenTest”Ruby Gem(通过 Tools | Ruby Gems),之后项目的右键菜单就会多一个“AutoTest”选项。它会启动项目的自动测试,每当你修改了一个文件,它都会自动执行单元测试。AutoTest 在很多情况下都能判断出需要运行哪些单元测试——尤其是 Rails 项目。如果它判断不了,就会运行所有单元测试。

使用控制台

尽管我们已经尽可能把功能集成进 IDE,还是有你想用控制台的时候。比如当你想通过交互的方式尝试一些 Ruby API 的时候,控制台就很有用。选择 Window | Other | Ruby Shell (IRB) 就会打开 Ruby Shell。控制台会在 IDE 的底部打开,你可以不受拘束地享受 Ruby 交互语言的强大能力。

## 更多信息

关于 NetBeans 的 Ruby 支持,你可以在它对应的 Wiki 页面上找到更多信息: http://wiki.netbeans.info/wiki/view/Ruby

Ruby 文档页面上有不少演示和教程: http://www.netbeans.org/kb/60/ruby/index.html

最后,你可从以下地址免费下载 NetBeans IDE: http://www.netbeans.org/community/releases/60/index.html 。你还可以选择安装只包含 Ruby 的精简版 IDE(特别提供了安装包),或者安装完整版的 Java IDE 附带 Ruby 支持。只包含 Java 的版本也可以通过 Tools | Plugins 增加 Ruby 支持。

在下一篇中,我们将讨论安装若干实验性插件之后得到的额外功能,还会讨论一些与社区相关的论题,比如如何参与到这个项目以及未来的计划。与此同时,请务必试一下 NetBeans 的 Ruby 支持。如果你经常用搞 Ruby 开发,NetBeans 就是你要找的 IDE!

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

2007-12-25 03:571465
用户头像

发布了 225 篇内容, 共 60.9 次阅读, 收获喜欢 50 次。

关注

评论

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

New Arrival: QCN9074 Dual Band/Tri-band 4X4 WIFI6 Network Card DR9074 (#QCN9074)

wallyslilly

QCN9074

入门指南:使用Spring Boot构建Java应用程序

2756

入门学习

码控算法

qh12346

消息中间件最强笔记大全:MQ+Kafka+体系图+笔记

小小怪下士

Java 消息队列 消息中间件

一种接口依赖关系分层方案 | 京东云技术团队

京东科技开发者

依赖关系 接口优化 API 接口 企业号 6 月 PK 榜 接口分层

Go 语言中 Context 的作用和使用方法详解

KaiwuDB

Go 语言 KaiwuDB

工业物联网SCADA软件推荐

2D3D前端可视化开发

工业物联网 工业控制系统 web组态软件 HMI SCADA软件

实现 AI 大语言模型的关键在于超高性能存储能力

焱融科技

Go语言中的init函数: 特点、用途和注意事项

EquatorCoco

编程 Go 语言

Maven进阶学习指南 | 京东云技术团队

京东科技开发者

maven 组件 依赖 Maven仓库 企业号 6 月 PK 榜

李彦宏:AI原生应用比大模型数量更重要

飞桨PaddlePaddle

人工智能 百度 paddle 大模型

IoT场景时序数据库性能对比报告出炉,TDengine 远超 InfluxDB & Timescal

电子信息发烧客

3dMax 应该用哪个渲染器?Vray、Corona、Arnold?

Finovy Cloud

直播程序源码技术分享主播邀请上麦功能

山东布谷科技

软件开发 程序 源码搭建 直播源码

复旦发布云上最大科研智算平台

新云力量

智能 计算 复旦 科研智算平台

提升测试质量的四个关键特征

老张

质量保障 测试质量

AI与企业信息安全的应用、技术以及前景

行云管家

AI 网络安全 信息安全 企业信息

据平台流量回放最佳实践|精选

得物技术

前端 后端

618技术揭秘:探究竞速榜页面核心前端技术 | 京东云技术团队

京东科技开发者

前端 H5页面 海报生成 动画特效 企业号 6 月 PK 榜

STC89C52+DHT20设计的环境温湿度检测仪

DS小龙哥

6 月 优质更文活动

一图看懂华为云CodeArts Board5大特性,带你玩转看板服务

华为云PaaS服务小智

云计算 数据可视化 华为云 企业研发管理 数据看板

[Qt开发]一口气搞懂串口通信

EquatorCoco

通信 qt

.NET的基元类型包括哪些?Unmanaged和Blittable类型又是什么?一文带你深度解析

不在线第一只蜗牛

.net 编程

Flutter性能优化的一些路径思考

Onegun

flutter 移动开发

沐曦与百度飞桨完成兼容性测试,助力计算机视觉应用发展

飞桨PaddlePaddle

人工智能 百度 paddle

目前包头市等保测评企业有几家?2家还是3家?

行云管家

等保 等级保护 等保测评 等保合规

NFTScan 与 Sender Wallet 达成合作伙伴,双方在多链 NFT 数据方面展开合作!

NFT Research

NFT\

搜索语义模型的大规模量化实践

百度Geek说

paddle NLP 大模型 企业号 6 月 PK 榜 6 月 优质更文活动 INT8

华为开发者大会—开发者的一站式代码检查利器:华为云代码检查CodeArts Check

华为云PaaS服务小智

云计算 华为云 华为开发者大会2023

架构实战营(一)

架构实战营

CVPR2023|小红书提出 OvarNet 模型:开集预测的新SOTA,“万物识别”有了新玩法

小红书技术REDtech

深度学习 算法 小红书

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