Ever since I first learned Rails, I’ve used TextMate and then Sublime Text as my text editors of choice. They worked fine until I started using RubyMine, a Ruby on Rails IDE, a few weeks ago. There is no going back. Here are just some of the features I can no longer live without:
Click And Follow
Want to see the source code of a function that’s used in another function? Just click on the function and RubyMine will take you to the function being called. This is super useful especially when there are multiple methods by the same name, but are in different files or folders. It is also useful for seeing the source code from different gems you’ve installed. No more going through directories trying to figure out where that unknown method actually resides!
When you’re working on a large team project, there are often times when you’re not sure why somebody wrote a function the way they did or why the function is even there! The RubyMine Git Annotate command makes it really easy to see who was the last person on your team to write or change that function. You just ask them about it, and problem solved!
Run Tests Right From The Spec
If you’re on a spec file, simply click and RubyMine will run the tests from that spec file right in RubyMine. You can then easily look at the red tests and click on the problem lines right inside RubyMine, without having to look at the terminal and figure it out. One goal of testing is to make the RED => GREEN => REFACTOR cycle as efficient as possible, and RubyMine definitely speeds up the process.
Switch Between File and Spec
At the click of some keyboard shortcuts in RubyMine, you can easily switch between the file and it’s spec. Again, this makes the RED => GREEN => REFACTOR cycle so much faster.
RubyMine makes it really easy to compare your current file with the same file on a different branch (including master), and even a previous version of that file on the same branch. This is super useful for debugging, especially if something worked before and is not working anymore.
I probably sound like an advertisement for RubyMine, lol, but it really is that good if you know how to use it 🙂