Using the Ruby Development Tools plug-in for Eclipse
I just noticed today that there's a nice new article up on IBM's developerworks entitled Using the Ruby Development Tools plug-in for Eclipse. The article gives a nice little overview of using the Ruby Development Tools Plugins within Eclipse and developing Ruby code with them. The article ends by incorrectly stating that the current release is 0.5.0, we've launched 0.6.0 with a significant number of new features. Hopefully this will help drum up some new users and even developers for the plugins!
Ruby Development Tools 0.6.0 is out!
The long-awaited new version of RDT is now available. For those unfamiliar, RDT is one of the many choices of IDE for Ruby code - Alongside FreeRIDE, The JEdit plugin, RDE, and ArachnoRuby. RDT is an open source Ruby editor built as a "feature" for the Eclipse platform. (A feature is simply a set of plugins which should be installed together and are "branded" as a single release or product.)
This is exciting for me personally because I'm one of RDT's developers (it could be said that I'm the reason why it took so long to get this version out the door. Sorry!). Great big thanks go out to: David Corbin, Markus Barchfeld and Zach Dennis for helping push this release out the door; Thomas Enebo of the JRuby team for his help in getting integrated with JRuby and catching some hard to pin bugs down; and Torsten Uhlmann and Khaled Agram for their work on the new RI/RDoc view.
New Changes
- Integration with JRuby
- This was what took so long (for me) and was perhaps a bit too ambitious at first. We integrated the JRuby parser into the backend of RDT to generate an in-memory model of the workspace. For now we're just using it for syntax checking and warnings. Later we plan to leverage this for things like code completion.
- Code Folding
- Of classes, methods, modules
- An integrated RI/RDoc view
- Interactively view the docs for Ruby Core and any other Ruby libraries that have been parsed by RDoc with the ri output format option.
- Generate Rdoc for projects in the workspace
- Under the Project menu, you can generate RDoc for a project and it will automatically create the ri output for use in the integrated RI view.
- Integration of Task tags like in the JDT
- Finally you can sneak in your TODO, FIXME, or XXX's to mark spots in the code where you need to do some more work later. Custom tags, custom priorities, show up in the Tasks view.
- Significantly improved parsing (including problem markers and warnings)
- Thanks to use of the JRuby parser we should be able to handle parsing much more complex Ruby scripts without dying.
- Works with Eclipse 3.1
- The older version, 0.5.0 was broken on Eclipse 3.1 Milestone builds. RDT 0.6.0 fixes that.
- Auto-completion
- Auto-completion of open brackets, parentheses and quotes
- Better Ruby script and Ruby-related file recognition
- We're trying to get better at determing just what is a "Ruby" file (when it doesn't have the rb or rbw extension). We've expanded the files we consider as Ruby scripts or ruby related. (I snuck in a bunch of the Rails script filenames). We've also defaulted to showing all files in our Ruby Resources view.
Other major features
- Graphical code outline
- Code formatter
- Syntax Highlighting
- Integrated Test::Unit view/runner
- Interactive Debugger
- Custom and preset code templates (blocks, loops, class definitions, etc.)
- Regular Expression tester/view
- Clickable stack traces in console
Please check out the new Documentation, Download the latest release (or use the update site) and send all of the core developers your feedback and patches!
Revived RDT?
I haven’t spoken at all about this, but I’m one of the core developers on the RDT project which aims to bring Ruby support to Eclipse as a plugin. I wanted to begin learning Ruby a year ago, and decided a good way to do so way to use my knowledge base in Java. I frequently use Eclipse at work and home, so it seemed like it would be a good fit to start with – help out creating an Eclipse plugin written in Java for the Ruby language.
I think I did a pretty good job of jumpstarting the project again when I joined and I’ve put a lot of work into the project. However, I got a little too ambitious after the 0.5.0 release. For 0.6.0, I completely overhauled the core of the model to be much more expansive than previously, and also integrated with the JRuby parser.
The crux of it was that before we had a hand-made parser and only ever cared about the single file opened in the editor. This limited what we could do to a significant degree. In 0.6.0, I wanted to keep the whole hierarchy of ruby projects and their contents in memory so that we could create syntax problem markers, generate warnings, have tasks, and start working towards doing rdoc/ri integration and code-completion.
After a lot of work on it I managed to get most of the core model work and JRuby integration done, but kept running into bugs I couldn’t nail down. My interest in the project waned, and I had other projects competing for my time – so the development of the plugin slowed considerably and the 0.6.0 release never saw the light of day.
But for those of you who do use RDT or would like to there’s some good news: Zach Dennis and David Corbin, along with a number of users who have contributed some patches, have revived the project and are pushing 0.6.0 closer to release. Tomas Enebo has also been a great help from the JRuby team.
If you use RDT or have some working knowledge of Java and/or Eclipse (and don’t mind the cutting edge), please try out the nightly builds and let them know what problems you see, and most of all, thank them for their work.
It’s great to see someone else pick up the ball and run with it. Let’s hope we can get some more developers and users out there to sustain this project. It’s difficult spending so much time on an open-source project with a small (typically 2 active) developer base – but the results can be highly encouraging when you see happy end users, or a big release go out the door. Keep up the good work Zach and David!