Why I switched from Visual Studio Code to RubyMine.

Choosing a development environment that fits you can be hard whether you are a professional developer or only starting your journey. In this post, I will highlight the main differences between text editors and IDEs, and why I switched from Visual Studio Code to Rubymine.

Text editors

In this case, we will refer to programming text editors that are made for writing code. A text editor allows to create and edit a range of programming language files.

Typical features:

  1. Find and replace.
  2. Cut-copy-paste.
  3. Text formatting.
  4. Undo/redo.

Advanced features:

  1. Syntax highlighting. A text editor may highlight source code, markup languages, config files, etc.
  2. Folding. Collapse/expand a section of the text from view.
  3. Extensibility. Using plugins allows developers to customize the editor for their individual needs.

The main drawback of using Visual Studio Code for me was the fact that you always have to search for the plugins, set up them, and hope that they are working the way you want them to work.

Integrated Development Environment (IDE)

IDE is a software application that typically consists of not only a text editor but also includes build automation tools and a debugger.


  1. Automatic code completion. IDE suggests a list of matching variables, methods, and keywords while the developer types his code, including methods within the project.
  2. Version control system. Most IDEs support major VCSs and allow tracking changes in the source code, working with branches, or, for example, commit, push or creating pull requests within an IDE.
  3. Testing and debugging. Some IDEs allow generating tests from templates as well as having an interactive debug console.
  4. Navigation and search through the project. IDE allows easily navigate to the methods, tests, etc, or find the places that use a class, method, variable, or symbol.

After I started using RubyMine as my main development environment, I don’t need to look for plugins, checking if they are reliable. The only thing I did — added shell script for launching Rubymine from the command line.

What I enjoy in using RubyMine most

Let's check how the features of RubyMine makes you faster and more productive.

  1. Automatic code completion. It works as you type, suggesting a list of matching variables, methods, and keywords. In RubyMine, completion works for Ruby and Rails, JavaScript and CoffeeScript, ERB, HAML, CSS, and Sass.

2. Version control system. RubyMine works with Git and GitHub, Mercurial, Subversion, Perforce, and others from the IDE. Check how easy to add, commit, and push changes on GitHub.

3. Navigate and search through the project. Quickly identify how everything works.

4. Ruby on Rails. RubyMine helps to add new Rails entities, such as models, controllers, and migrations.

In this post, I showed only a couple of examples of how IDE makes the coding process more efficient and pleasant.

To open the project in RubyMine from the command-line follow the instructions.

Here’s an example of my process of setting the command-line interface for RubyMine.

First thing, we need to create a ‘rubymine’ script in the ‘bin’ folder.

$ cd /usr/local/bin

Here you’ll see a list of shell scripts

$ ls

Let’s create a 'rubymine' shell script

$ vim rubymine

And add the following

#!/bin/shopen -na “RubyMine.app” — args “$@”

Then I tried to open my project from the command line, but got the following:

$ cd /my_project
$ rubymine .
zsh: permission denied: rubymine

If you get a 'permission denied' message run the following command:

$ sudo chmod -R 777 /usr/local/bin/rubymine

Try to open it in RubyMine again:

$ rubymine .

Learn more about features and switch to RubyMine today! Happy coding!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store