Recently I've spent some time revisiting and learning more about Ruby on
Rails. In doing so I wanted a decent editor to work with. This article
is about my "adventure" in finding an editor and/or IDE that I could use in
exploring and learning Ruby and Ruby on Rails and ultimately what I ended up
selecting.
Everything I read online talked about
TextMate the editor of
choice for Mac Ruby developers. I have a Windows machine so I didn't have that
option. I decided to stick close to home by seeing if IntelliJ (my favorite
Java editor) had a plug-in that supported Ruby. At the time no such plug-in
existed. I gave SciTE and FreeRIDE (the editors that come with the Ruby
distribution) a spin but wanted something a little closer to what I was use to
in a Java IDE. I remember hearing something about RadRails, a Ruby IDE based
on Eclipse. I was familiar enough with Eclipse so I decided to use that for my
dabbling. I used this for a while and it was OK for what I was doing.
In the meantime I came across a Windows TextMate-like editor called "e". I first installed a beta version of "e" which stands for the "E Text Editor ". I spent some time trying to make this editor work for me. I wanted to see what all the excitement was about in the TextMate world, even if it was on Windows :-) . To use "e" I first needed an updated installation of cygwin since "e" relies on cygwin to function. I wasn't overly pleased that "e" relied on cygwin to be a functional editor. Nevertheless I installed a recent copy of cygwin and was up and running with "e". "e" is in beta and with beta software comes annoyances and partially functional software. I really wanted to make this editor work. However, I ran in to a few bugs that prohibited me from using "e" and caused me to resume using RadRails. About this time, the IntelliJ folks released a Ruby plug-in.
The IntelliJ plug-in worked fairly well for what I needed. I could use it in an environment that I was very familiar with and was happy to be "home". Initially I experienced some minor bugs. The biggest problem I had was the plug-in can only be used in IntelliJ 6+ and I currently run 5.1 and wasn't prepared to upgrade. Unlike other editors I had looked at IntelliJ is relatively more expensive. After my 30 day license expired, I headed back to RadRails, but then I ran in to this blog post about the future of RadRails:
"The bottom line to all of this is that Matt and I can't provide the same kind of commitment that we once could. Like or not, RadRails is not a business. We've been working our asses off on a start-up for the past few months and RadRails has suffered as a result. I wish things were different and we could sit back and work on open source all day but that is just not the reality anymore."
I wanted to use software where I felt there was community support. I continued my search to see what else was available. I came across InType, a very basic editor that is suppose to be TextMate-like, however, at the time of the writing they were still in an alpha version and didn't seem to have much momentum. At the time I used the software it was still very immature (e.g. no tab support though you can open multiple windows). Then one day I read a blog entry about Ruby support in NetBeans. IÕd always associated NetBeans with the so-so Java IDE currently produced by Sun.
I downloaded a milestone release of NetBeans release 6 and installed support for Ruby and Ruby on Rails. Almost instantly I was wowed by their support for Ruby and Rails. I had no trouble becoming productive with the IDE and have been happy with the product since. Current features include:
- Code completion
- Occurrence highlighting
- Integrated documentation pop-ups for Ruby API calls
- Parameter completion
- Mongrel support
- Rake migrations
- And much more
Additionally, NetBeans supports development in either the reference implementation of Ruby or in JRuby, a Java implementation of the Ruby interpreter. Most recently the NetBeans folks have begun adding support for TextMate bundles. They have also created a stripped down version of the IDE that is strictly for Ruby coding (though this still seems a little rough around the edges). As you can see the NetBeans folks are really putting forth a great deal of effort to create a solid, robust IDE for creating Ruby and Ruby on Rails applications. While the RadRails IDE is now supported by Aptana and IntelliJ 7 will include built in Ruby support (release expected by the end of the year), NetBeans has made a big leap ahead of the rest of the pack and nothing appears to be getting in their way. For now NetBeans is the choice for me when doing Ruby development.
Update: I forgot to mention this recent IDE comparison of NetBeans, IntelliJ and RadRails.
17 Comments
Leave a comment
0 TrackBacks
Listed below are links to blogs that reference this entry: Finding a Ruby IDE.
TrackBack URL for this entry: http://www.nearinfinity.com/mt/mt-tb.cgi/429



RadRails has been picked up by a company called Aptana, it will still be Open Source.
Have you seen Komodo?
http://www.activestate.com/products/komodo_ide/
One IDE you neglected was Ruby in Steel from http://www.sapphiresteel.com
It's a plugin for Visual Studio and has some really powerful features including a true intellisense (not just code completion) & a fast integrated debugger.
Hi Jeff,
Re: "RadRails has been picked up by a company called Aptana, it will still be Open Source."
I mention this above, though I'm not up to date on the current state
Hi Dan,
Re: Komodo, I'm aware of Komodo but haven't looked at it yet. Another editor that looks appealing is Arachno Ruby IDE (http://www.ruby-ide.com/ruby/ruby_ide_and_ruby_editor.php)
Hi Mark,
Thanks for the heads up. I've heard of Ruby in Steel and it sounds like a great tool. However, I don't own a copy of Visual Studio which prohibited me from given that a try. (maybe I can download a trial?)
I use jEdit. It's powerful, stable, and endlessly extensible. Basically, everything you can do and have in TextMate you can do and have in jEdit.
The difference is that jEdit is open source and free, but you have to install and configure some plugins and macros.
It's got projects, code-completion, consoles. It's got SFTP, bash scripting, grep-like functions. Diff, super abbreviations, macros, code explorers, templates...
I heart jEdit.
An alternative plugin for Eclipse that is making some nice progress and has active development is RDT.
A while back I went through the same excercise and I, too, have to agree that NetBeans is light years ahead of anything currently shipping (plus it's free). Another standalone IDE that I found almost as capable of NetBeans was ArachnoRuby (http://www.ruby-ide.com/ruby/ruby_ide_and_ruby_editor.php). The tipping point for me was the fact that NetBeans is infinitely extensible beyond Ruby and it's cost is hard to debate. If I had to pay money for an IDE it would probably be ArachoRuby.
For code completion, RadRails can have it too. Not quite out of the box but there's the Dynamic Languages ToolKit for Eclipse that you can download here: http://www.eclipse.org/dltk/
Ruby is supported so it's a great complement to RadRails.
Like you I'm looking for a good Windows Ruby IDE.
I tried Komodo 4.0, which does syntax high-lighting and running scripts. But it has poor code completion. Most of the time, when you type "." after an object Komodo can't list the object's methods/members. This is a crucial feature when you're first learning a new language.
As for RDT, their website claims it's still being developed. But with no new release since April 2006, it looks dead:-(
Someone mentioned SapphireSteel's Ruby IDE for Visual Studio. What a bummer their plugin won't run on the free Visual Studio Express version:-(
Based on your description of Netbeans and J/Ruby, that sounds like the best free Ruby IDE currently available.
You've got to get the most recent Aptana builds with RadRails plugged in for code completion, etc. to work. Looks like this may be the competition for NetBeans and Ruby in Steel as the core components, RDT and perhaps DLTK, have a lot of momentum at the moment.
If we see a merger of RDT and DLTK, which looks possible and would be the best thing that could happen for this pair I believe, it would really springboard things ahead.
"Someone mentioned SapphireSteel's Ruby IDE for Visual Studio. What a bummer their plugin won't run on the free Visual Studio Express version"
Agreed. That wasn't up to us, though. MS made sure that 3rd party languages can't integrate into VS Express. So even though we have a free 'Personal Edition', you do need VS Standard or above to use it. I wish that wasn't the case but it is :-(
I should clarify, by the way that while, as someone said earlier, we do indeed have true analytical IntelliSense that interprets code as it's entered (and works out completion lists based on class, inheritence, scope, assignment, mixins, singletons and a whole load more stuff) this is only available in our commercial product. Similarly, while we have a debugger in the free version, our ultra-fast debugger is only in the commercial release. Well, we do have to earn an honest crust somehow... ;-)
best wishes
Huw
Hmmm, yeah, how about Komodo?
We've done some more work integrating Rails
into it. I've written it up at http://blogs.activestate.com/ericp/2007/04/rails_revisited.html
All but the (much faster) debugger are in the free version as well.
Since I don't like adding commercial material to someone else's comment stream, I'll leave it at that. Feel free to send me email for more info.
I've gone to NetBeans (from Textmate & RadRails)
The only thing that NetBeans is realy missing now it's HAML support. With it, it would be just AMAZING IDE.
freeman: Well, Tor threw in DRYML support for NetBeans and Hobo/DRYML really stomps HAML through the floor.
Rob: I don't think so - have you tried to use HAML?