Ruby Editor/IDE Comparison

Last week I posted about my preference for IDEs. Well my adventures in Ruby continue and with them, my search for the right development environment. What's the best environment to get Ruby on Rails development done? Well, David Heinemeier Hansson (the architect of Rails) has sounded off on his preference for TextMate, but what about those of us not working on OS X? I took a little bit of time and played with jEdit, Eclipse, UltraEdit, gVim, ArachnoRuby, and SciTE. Read on for my initial thoughts on each.

Note: Some of these products may support more features, but it wasn't readily apparent to me how to get them set up. All of these programs are completely new to me so my thoughts of each may be a reflection of my greenness.

SciTE comes bundled with the Ruby installer for Windows so it's obviously the easist to get going. It seems like a basic editor for creating Ruby scripts. I didn't notice any features for project management or a file/folder browser. It also lacks any kind of support for .rhtml files which makes it very limited in its usefulness.
Features

  • Syntax highlighting for .rb files
  • Basic indentation

The next one I tried was Eclipse. It's free and open source and is quite popular for Java and Python development (and many others I'm sure). Brian Hogan has posted a nice HowTo on using Eclipse for Ruby on Rails development here. He's continually updating the process so it's worth going back to see how things are progressing. It wasn't apparent to me how to get the Eclipse debugger working with Rails projects.
Features

  • Syntax highlighting for .rb
  • Basic syntax highlighting for .rhtml files
  • Project view
  • Tabbed view of open files
  • Support for database scripts with DBEdit plugin
  • Basic indentation
  • Code folding

UltraEdit is Windows only programmer's editor and costs $39.95. It lacks support for .rhtml files which turned me off from using it almost immediately.
Features

  • Syntax highlighting for .rb files
  • Project view
  • Tabbed view of open files
  • Basic indentation

gVim is another programmer's editor but is open source and cross platform. I'm not well versed in vi and it represents a decent learning curve. It seemed pretty basic so I moved on after a very short time.
Features

  • Syntax highlighting for .rb files
  • Basic syntax highlighting for .rhtml files
  • Auto indentation

I then had a go at the commercial IDE ArachnoRuby. It's available for Windows, Linux, and OS X and costs $59 for the personal or $129 for the professional version. It was easy to set up but how it works with Rails wasn't readily apparent. There has since been a post on their support forums about developing Rails applications with Arachno, but I haven't gone back yet to give it a try. I also had problems with the auto-indentation not working properly.
Features

  • Syntax highlighting for .rb files
  • Syntax highlighting for .rhtml files
  • Auto indentation (doesn't always work right)
  • Project view
  • Tabbed view of open files
  • Code folding

The last one I tried was jEdit and the Ruby Editor Plugin. It's cross platform and open source. I haven't had much time with it since it took a little work to get it properly set up. This actually uses a number of other jEdit plugins which is part of the reason it took a little while to set up.
Features

  • Syntax highlighting for .rb files
  • Syntax highlighting for .rhtml files
  • Auto indentation
  • Project view
  • Code folding (haven't really had this work yet)
  • Structure browser (tree view of class methods)
  • Code completion for core Ruby commands

All in all the best options seem to be Eclipse, ArachnoRuby, or jEdit. ArachnoRuby looks very promising, but doesn't quite seem ready for primetime. They're still in development and don't expect to release the 1.0 version until April next year (even though you can buy it now). The jEdit platform is looking good and Rob McKinnon (the author of the Ruby plugin) says he's restarting development on it and should be releasing updates before the end of the year. For some reason Eclipse didn't appeal that much to me. I'll have to go back and revisit it as more information gets posted on the HowTo.
In the meantime I'll be playing with jEdit and possibly revisiting other options as I get more advice and more knowledge on Ruby on Rails development.

UltraEdit

You can probably take a HTML wordfile and modify it and use it for rhtml. Here's a List of UltraEdit wordfiles .. I'll try it and let you know how it works. :)