I’ve said that I use netbeans on this blog a few times but never really gone into why.

First, I can park all of the class/project browsers and output windows in the margins of the page and they only pop-up when I click on them.

Second, I can tear off editing windows so I can look at, e.g. Rspec’s and the code next to each other. I can also have multiple views of the same file.

Third, it has book marks, which the “poor ma’s Textmate”, ‘e’, does’t.

Fourth, ^B will take me to where a function is defined so I can look at the framework and work things out. ^K is a cool key too.

Fifth, I can map everything to key presses if I want.

Sixth, it does indentation properly (which the Eclipse-based Ruby environments don’t and it annoys me too much to use them) – it will also re-indent at a key press, which Textmate does’t seem to do.

Seventh, I can move and copy lines without having to use the mouse: Ctrl-Down copies the current line or selection, Alt-Shift-Up/Down moves the current line or selected lines in the direction you need. This is great. Plus rename of variables inside a method …

Eighth, you can start mongrel inside the IDE with a keystroke, or start it against the current page.

But best of all, it allows me to debug my Rails apps. You set your break points, start up the debug version of Mongrel and it drops you into a full symbolic debugger. I had’t realised that lots of people have’t got this facility until I heard a podcast from David HH, the inventor of Rails, when he was saying that debug is back in Rails 2.0. If you use Netbeans it never went away, and you don’t have to put breaks in your code.

Plus all the generators and whatnot are visible in the GUI.

The learning curve is’t flat, but not very steep, and it’s a good tool that runs on any platform that supports a Java VM.