ide review rubymine
Since I started working with Ruby about 4 years ago, I've used quite a few text editors and ide's: RadRails, gedit + plugins, TextMate and Vim.
TextMate is the one I've used the most and it's been ok for a long time. Until you realize you need half a dozen bundles to make it really useful for ruby development. Obviously the same goes for Vim and gedit.
Oh, and forget about refactoring. In these tools refactoring equals regex global replace. So if you need it, well, forget it.
That's when I decided to give RubyMine a fair go. I've been using it heavily for a while now and I must say I love it!
What pissed me off about RadRails when I first tried it was the speed. It was too slow, something people take for granted when running java based IDE's.
However this is not true for RubyMine. You DO take a hit on startup, nothing major, but once it's done, it's a breeze.
I've compiled a list of my favorite productivity shortcuts and features. Hope it'll be useful to someone else.
Productivity Shortcuts
Navigation
Ctrl + Tab - File Switcher
Cmd + Shift + T - Switching between implementation and test works perfectly. Even in a pure ruby project
Cmd + Shift + F12 - Expand/restore editor
Alt + Shift + N - Go to model/view/controller
Alt + F1 - Show current file in other views such as the project tree (scroll to file)
Cmd + Shift + N - Open file
Cmd + Alt + Shift + N - Open symbol - across files
Alt + F7 - Find usages - when on a method, variable, etc…
Running/Debugging
Ctrl + Shift + F10 - Run current [test] file. When inside a test method, run that single method.
Ctrl + Shift + F9 - Same as above, but in debug mode.
Shift + F10/Shift + F9 - Run/Debug last action executed
Alt + R - Run rake task
Refactoring
Cmd + Alt + N - Inline variable/ method
Cmd + Alt + M - Extract method
Shift + F6 - Rename
F5 - Copy current file as...
Editing
Cmd + Y - Delete line
Cmd + D - Duplicate Line/Selection
Alt + Mouse - Column selection
Cmd + Shift + (Up Arrow|Down Arrow) - Moves de line or selected block of code up or down
Features
Code completion - It's fairly accurate and pretty fast. They've done some good yak shaving around this area.
Debugger - The debugging interface is an absolute beauty. Saved me a lot of time where I'd have used puts statements or googled to re-learn how to use ruby-debug instead. Definitely worth checking out.
The bad stuff
It is not free - unless you are a committer to an open-source project. But it's not expensive either.
It is a bit slower - but not that much. The performance hit is insignificant compared to the added value.
Regex file open, TextMate style - What can I say? I do miss this.
Wrap highlighted text - In TextMate, if you highlight a word and press ", [, {, ( or # it surrounds the word with the respective combination of quotes, brackets, etc... Another missed feature
Wrapping up
It's probably soon to say it but so far RubyMine has been my missing Ruby IDE. And I'm very happy with it. :)