RubyMine Review: 5 Features That’ll Get You Hooked

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!

Git Annotate

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.

Git Compare

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 ๐Ÿ™‚

Enjoy the article? Join over 20,000+ Swift developers and enthusiasts who get my weekly updates.

  • Rob G

    you’re inspiring me to start my own Blog! Also I’m a big fan of Rubymine. Been using it for over a year now and loving it too!! ๐Ÿ™‚

    • Great! I love blogging and recommend it for everyone ๐Ÿ™‚ Let me know when you launch it, and I’d love to read it!

  • Hey! Interesting your post. I’m an indie Ruby Developer and, so far i’ve been working on Sublime. So i’ll give it a try.

  • This all sounds extremely wonderful, nice post though. I am looking to find a way to load multiple projects inside a single window using RubyM5 but seems like i end up with two options one – I can load the project in new window altogether, two – the current project is diminished loading the new project. I want to see something Netbeans 7(all versions) offer , loads multiple project bundles into single project display window.

  • It’s full of syntax error highlighting bugs though. I have a face full of syntax error highlights on most code pages and they are making excuses about it. For example, it gives syntax errors on path syntax ending in “_path” like “signout_path” even though it is defined in routes. It whas stopped recognising variables defined in let: let(x) {y} now shows an error on subsequent use of x. I have bugged about 8 of them so far.

    I am rolling back to 4 until they fix it. They don’t seem inclined to do that though and are currently offering up defensive justifications for bugs rather than fix them. To me it seems a bit of a mess really and I am so sick looking at a face full of errors that I am rolling it back.

  • Pingback: Which IDEs do Rubyists Use?()

  • MathPhysicsFlow

    Natasha, do you still user this? Just curious. Thanks!

    • I do primarily iOS development now, and use Parse for personal apps, so haven’t done Ruby in a while. Would use it if I did go back to Ruby.