DEV Community


Posted on • Originally published at on

Exploring Ruby IDE Options

via xkcd

I have been working in Ruby and Rails a couple weeks now, but I don’t know if I have been entirely happy with any of the editors/IDE that I have worked with. Coming from a Java background I used Eclipse/Spring Tool Suite for all my development work. I knew the short cuts, how to browse quickly and easily, and nothing with Ruby yet has felt like it has clicked.

I have spent the most time in VS Code right now, but I keep on finding features that I am yearning for. Like local code history, code templates, different views… I have been trying out RubyMine for the better part of a week, and it almost feels like too much going on. I haven’t gotten a good hold on customizing it, and for some reason when I try the hot keys, they never seem to work. I know I could change up the short-cuts, but that almost seems like cheating to me, it really isn’t learning the new IDE way of doing something but attempting it to be like something it isn’t.

The lead developer I have been pairing with this week is an emacs wizard. He makes it look effortless and insanely useful. I think I might have to give that a go, but if it is anything like Vim I know the learning curve will be steep. If I remember how to exit properly in Vim, it feels like a win. At home on my windows machine I’m just using powershell for a terminal and Atom for a editor. It’s super simple, and works great for the small coding exercises that I am doing, but would not work in an enterprise level application.

Top comments (7)

atyborska93 profile image
Angelika Tyborska

I have been using RubyMine for almost everything for 3 years: Ruby projects, Elixir projects, JavaScript projects. Here are some reasons I love it so much:

  • Its visual git conflict resolution tool (now with a "magic wand").
  • Local history (saved my ass more than once).
  • Terminal window that opens for every project.
  • Graphical Ruby debugger.
  • "Find in Path" and "Replace in Path".
  • Seeing all used gems below the project view so that I can read their source code while debugging.
  • It's very useful out of the box and only requires a few additional plugins for me.
  • I can use it for almost all my needs (Ruby, Elixir, JavaScript, HTML, CSS, Markdown, YAML, Terraform) so I don't need to remember how to use multiple different tools.

Before that, I tried using Sublime Text, but it required too much configuration to be useful for me. Now I only use it for random notes and editing single files. I also tried to learn vim, but it was too much effort.

I also had the pleasure working with an emacs wizard and I am still amazed how fast he was with everything, but when I stop to consider if I want that for myself, I don't really feel the need. When I work, I rarely ever feel slowed down by not navigating between files/lines fast enough. I mostly feel slowed down by the size of a project, distracting notifications, personal moods, and catchy songs stuck in my head.

ben profile image
Ben Halpern

I spent about five minutes playing with RubyMine and never went back but now I feel like giving it a go!

johand profile image
Johan • Edited

I've been using Emacs for about 9 years, although lately I'm using VS Code for short periods of time and it's not bad, I can tell you that you'll always learn something new using it, give him a chance maybe you end up joining to the church of Emacs 😁

Emacs has a built-in tutorial to take the first steps

andy profile image
Andy Zhao (he/him)

I've been using VS Code for a while now, and it's okay. I came from Atom, which had pretty solid Ruby support. My biggest issues with VS Code and Ruby is that there are some things that don't seem to work, like using Rubocop or autocomplete.

I might go back to Atom, but not entirely sure yet. Think I want to put some more effort into setting up VS Code with Ruby properly.

For my Terminal, iTerm2 works for me. I think if I were on Windows I'd try Hyper.

cjbrooks12 profile image
Casey Brooks • Edited

While I am a PHP and Java guy and tend to avoid Ruby, I will absolutely vouch for RubyMine, as many others are suggesting.

Beyond it just being an amazing tool, I find the real power in getting bought into the IntelliJ platform is that you can use the same tooling for all your projects. They have IDEs for most of todays most widely used languages, and developing for any one of them is the same as any other with respect to the features available for refactoring, code inspection, and build tools.

This is immensely valuable for me, as it greatly reduces the time for my brain to "switch contexts", and it means I don't ever worry that I will have to learn a new development environment when I start using a new language.

While it may seem overwhelming at first, if you stick with RubyMine and take the time to learn even just a few non-trivial functions in it, I'm sure you'll fall in love.

burdettelamar profile image
Burdette Lamar

Ditto to all RubyMine praise. I especially love (and depend on) the code inspection. It's automatic and dynamic in the editing window (points out errors in real time), and can also be called explicitly for the project or any of its directories.

Inspect early and often!

johand profile image

Haha, I spent some time using Emacs for all that kind of stuff too, not long ago they released an org-mode extension on VS Code but I do not know how well it works