【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

Web Service进阶(三)HTTP-GET, HTTP-POST and SOAP的比较

No Silver Bullet

soap 6月月更 Web Service HTTP-GET HTTP-POST

Linux驱动开发_数码相册项目、360WIFI驱动移植介绍

DS小龙哥

6月月更

java构造器(构造方法、构造函数)

写代码两年半

面试 javase 构造函数 6月月更

Jetpack Composes 之TextField详解

坚果

6月月更

初识SDN网络

穿过生命散发芬芳

SDN网络 6月月更

700行无用 纯 CSS 祝考生 金榜高粽《1_bit 的无用 CSS 代码 》

1_bit

CSS html 前端

支付系统安全设计思维导图

靠谱的程序员

支付安全

《WebRTC源码深入剖析》总结

音视频专家-李超

源码分析 音视频 WebRTC 源码剖析

Flink 通过 State Processor API 实现状态的读取和写入

JasonLee实时计算

flink

使用 TensorFlow 和 Express.js 实现AI图像识别

devpoint

tensorflow Express 6月月更

Java中的13个原子操作类

急需上岸的小谢

6月月更

以购物清单为例讲述 Redux 的状态如何在 Flutter 多个组件间共享

岛上码农

flutter 安卓开发 ios 开发 跨平台应用 6月月更

数据库每日一题---第3天:大的国家

知心宝贝

数据库 算法 前端 后端 6月月更

【Spring 学习笔记(四)】Spring Bean 集合注入和自动装配

倔强的牛角

spring Java EE 6月月更

【腾讯云代码分析】五月上新+新功能前瞻

腾源会

Web Service进阶(一)运行原理

No Silver Bullet

6月月更 Web Service 运行原理

抖音大举进军电商领域:这步棋应该如何下

石头IT视角

模块3作业(外包学生管理系统架构文档)

Geek_701557

SDN系统方法 | 4. 裸金属交换机

俞凡

架构 网络 sdn SDN系统方法

读书笔记 之《软件架构设计: 大型网站技术架构与业务架构融合之道》

蔡农曰

读书笔记 架构 后端 后端开发 后端开发书籍

Flink on yarn 远程调试源码

JasonLee实时计算

flink

Python环境搭建

攻城狮Wayne

Python编程 6月月更 Python环境

区块链mass哈希競猜dapp游戏开发源代码(多游戏)

开发微hkkf5566

等你加入|建木开源社区团队成员招募

Jianmu

开源社区 自动化运维 社区运营 志愿者招募

LabVIEW控制Arduino采集多路模拟量、数字量(进阶篇—1)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 采集多路模拟量、数字量

Leecode上的代码到Pycharm运行解决方法

武师叔

Python pycharm Leet Code 6月月更

Node详细讲解

恒山其若陋兮

6月月更

【盲盒APP】开发功能版块及功能介绍

WDL22119

Sentinel与OpenFeign 服务熔断那些事

牧小农

sentinel openfeign

外包学生管理系统

极客土豆

学生管理系统架构文档

爱晒太阳的大白

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