Recommended Editors for Ruby on Rails Development

Today, we had a Google Hangout and Skype meeting for the Ruby on Rails workshop next week.

One of the things that came up was what editor we would recommend for the participants. The specific question was “what IDE should we recommend to participants?”

I don’t recall using an IDE in the past 4 years or so for Ruby programming. It’s not necessary to use an “IDE.” An IDE has a lot of features. We all just really need Text Editors and really powerful ones like VIM.

An IDE is usually not necessary for web development

I didn’t always think that way. In fact when I was starting out, I felt like I “needed” an IDE. But my reasons were valid. I was hired as an Actionshit (I mean Actionscript) developer then and I was still studying. Back then it was called Macromedia Flash because Adobe hadn’t purchased Macromedia until 2005. At some point, I was forced to use Coldfusion too.

This is the idea that most educational institutions enforce to their students: “You need an IDE for web development.” In fact, I was walking within the University belt and one of the schools I found didn’t teach languages much but they taught IDE’s. It’s good to master a tool but then choose the right one and ask yourself and others if you can live without it. It’s much like having a car. Why would you need a car if you live near the business center of your city? In some cases, it’s more painful to own one. For some static languages particularly for mobile app development, IDE’s are somewhat necessary. I’m talking about iOS and XCode. But for Ruby, this is not necessary. The same is true for PHP, Python, Lua and Javascript.

For those attending the event on Saturday, please make sure you have any of these editors if you are using Windows:

Notepad++

It’s simple, lightweight and has most of the features you will ever need. That includes basic syntax highlighting and auto-completion. And it’s free (open source).

Sublime Text

There are good reviews for this editor. I have downloaded it once and it seemed to be quite good. If you can pay the price, go ahead and download that.

Some would probably recommend Aptana RadRails. I tried it once more than 4 years ago and I didn’t like it much. It also crashed a lot. At your own risk, try it. Maybe it is better now.

VIM

Most of us in the Philippine Ruby Users Group use VIM. It works very well and I wrote a bit about it before.

Geany

George Mendoza, the primary speaker for the event uses Geany.

GEdit and gmate

For nearly two years, I only used Ubuntu for Ruby on Rails development and I used the default Text Editor installed along with gmate .

You can install gmate using this command:

sudo apt-get install gedit-gmate

Try to do a basic search for gedit plugins and install those too.

sudo apt-cache search gedit

MacVim

It’s going to take time to learn so if you don’t have that much time, please try other options. As I have mentioned, most of us prefer VIM.

The easiest and recommended way of installing MacVim would be download the recent version. Extract the files and drag the MacVim icon into the Applications folder.

The other way to install MacVim is through homebrew. Your first step would be to update XCode and the install homebrew if you don’t have it yet.

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

And finally, install MacVIM:

brew install macvim

Thanks to Joon You for pointing out the issue with the icon if you install using homebrew. It probably makes sense to follow the easy way. Though really, most of us do not care much about the app icon because we type “mvim .” on iTerm/ the default terminal and the editor will just show up.

Sublime Text

If you do not have not much time to learn VIM, the easiest option would be to purchase Sublime Text and it’s nearly as nice as VIM.

TextMate

TextMate was recently open-sourced so you can just download and install it for free. It’s very simple and feels like Notepad++. The plugins or extensions are called “bundles.” There is a rather outdated Ruby on Rails bundle which we do not recommend installing. You won’t ever need those.

Configure your editor to use two spaces instead of a tab

Regardless of what editor or operating system you are using, we recommend doing some basic configuration. Some may find it a trivial rule but necessary: “Use two spaces per indentation level. No hard tabs.”

For Textmate users, you will learn how to do that by reading “4.11 Using Spaces Instead of Tab” on this page. For most editors, it is a matter of going to preferences and changing TAB to 2 spaces.

So that’s it. I hope this helped a bit.