写点什么

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

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

关注

评论

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

Docker架构

混沌畅想

Docker 容器 Docker架构

一文带你读懂 Swift 社区最新开源的算法库

镜画者

ios swift 算法 apple

week04 作业

xxx

甲方日常 36

句子

工作 随笔杂谈 日常

勾魂!在Github白嫖左程云1470页数据结构与算法+视频

996小迁

Java 架构 面试

架构师训练营第2期 第1周 作业二:学习总结.md

老腊肉

分布式文件存储数据库 MongoDB

哈喽沃德先生

数据库 nosql mongodb mongo 非关系型数据库

「架构师训练营」第 1 周作业 - 食堂就餐卡系统设计

小黄鱼

极客大学架构师训练营

架构作业:一致性hash

Nick~毓

一份超级完整实用的PyCharm图解教程,8K字赶紧收藏起来

计算机与AI

Python IDLE 开发环境

一文搞懂ReactNative生命周期的进化

凌宇之蓝

react.js 面试 大前端 React Native

在线EXCEL编辑器-Luckysheet

奇异石榴果

Java 开源 Excel bigtable js

项目吐槽之需求分析一

Geek_XOXO

项目管理 pmp

服了,这款开源类库可以帮你简化每一行代码

沉默王二

Java GitHub 后端 hutool

架构师训练营第2期 第1周 作业一:食堂就餐卡系统设计

老腊肉

一文读懂线程池的工作原理(故事白话文)

捡田螺的小男孩

Java 面试 线程池 线程池工作原理

Java中的5大队列,你知道几个?

王磊

Java

1024!奈学教育致敬程序员3+2战略发布会重磅来袭

奈学教育

1024 奈学教育

iOS性能优化 — 二、卡顿监控及处理

iOSer

性能优化 编程语言 监控 ios开发 卡顿

分布式缓存架构,消息队列,负载均衡

garlic

极客大学架构师训练营

编码之路,与君共勉

yes

程序人生

6小时搞定云原生:从基础概念到上手实践

京东科技开发者

云原生

java安全编码指南之:线程安全规则

程序那些事

java安全编码 java安全 java安全编码指南 java代码规范 java代码安全

spring-boot-route(二十三)开发微信公众号

Java旅途

Java Spring Boot

Linux内核系统结构

Linux 操作系统 内核 系统调用 操作系统结构

c++bind函数使用

良知犹存

c++

【得物技术】谈谈缓存的一二三四五

得物技术

缓存 架构 技术 缓存穿透 缓存击穿

Scikit-Learn中的特征排名与递归特征消除

计算机与AI

学习 数据科学 特征选择 降维 scikit-learn

发布3个月获得5K Star的Luckysheet - 基于MIT协议的开源电子表格

奇异石榴果

Java 开源 大前端 Excel html/css

C/C++最佳实践

jiangling500

c c++ 最佳实践

week04总结

xxx

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