I’ve been programming in Ruby now for about four years and having been used to IDE’s for other languages looked for a good IDE right from the start. As it happened Aptana was released at about the same time as i started using Ruby and its RadRails plugin soon becam my best friend.
Things and times change and the beautiful friendhip has turned sour. The small idiosyncracies that were easily masked by the wonderful features have now become unbearable annoyances; unreliable syntax highlighting, poor rails 3 support, crashes that leave Windows crippled and needing a reboot, unbearably slow when saving…. Time for a change methinks!
So where does that leave me? The options are Ruby In Steel (essentially Visual Studio, commercial product), RubyMine (from JetBrains, was free i think at one point but now a commercial product) or NetBeans (from… well NetBeans of course! FREE). This really only leaves me with one choice i guess as i’m not in a position to pay for an IDE just at the moment… Lets brew up some NetBeans (sorry!)
This is not a review or a full write up of the software. I am essentially looking at the IDE in the context of Ruby development and at some of the core features which i’d like to have in a Ruby IDE to see how well supported they are. So let’s have a look.
1. Downloaded and installed NetBeans 6.9 without any problems. The download contains the version specific to Ruby development. I decided to not bother installing the built-in GlassFish server as I’m quite happy using WEBrick for local development.
2. I already have projects which I’d like to work on in NetBeans so my next step was to see how well they’re handled. I selected “File -> New Project” from the main menu and chose to create a new Rails project from source and along with the standard name and location settings, NetBeans allows you to choose your preferred Ruby interpreter and server. I selected 1.9.2 as I’m running Rails 3.
3. I want to start using LESS for my CSS and found that in Aptana i needed to set the correct editor to use when opening the .less files. I assumed i would have to set this in NetBeans too and found it was dead easy. Go to “Tools-> Options -> Miscellaneous” and select the Files tab click New to add a new file extension and enter less in the dialog box. Then set the MIME type to text/x-css.
4. Time to start the server… Damn! First problem. I ran the project and get…
"C:/Ruby192/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.2/lib/aws/s3.rb:11:in `require': C:/Ruby192/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:84: invalid multibyte escape: /[\x80-\xFF]/ (SyntaxError)"
Not to worry… a little digging led me to a workaround which fixes the problem. Apparently a proper fix will be implemented in version 7. Brilliant! Moving on…
5. My app is kept under source control using Git so i guess the next thing to check is how well Git integrates. Git isn’t currently supported by default in NetBeans but there is a plugin available called NBGit that is based on the existing Mercurial plugin which is recommended until Git support is added. I followed the installation instructions from the wiki and hey presto… I now have Git in NetBeans.
6. Now i have my app set up. I’m going to test out Rails generators. And here i find the next stumbling block… Some of the generators i use are provided by gems (devise etc.) but they are not appearing in the generators list hmm… The generators that are missing aren’t used very regularly so i guess i could compromise and drop down to a command line now and then…
It looks promising but I’ll be able to get a better idea of how it performs after I’ve actually used it.
(Nice… just as i closed the IDE it reminded me i still have WEBrick running. I Like!)