Integrated Environment

RubyMine offers tight integration with VCS, includes database and deployment tools, and has a vibrant plugin ecosystem.

Version Control Systems

Unified UI

  • RubyMine provides a unified interface for many popular Version Control Systems, ensuring a consistent user experience with Subversion, Git and GitHub, Mercurial, CVS, Perforce, and TFS.
  • All tedious tasks (such as adding, removing and deleting files) are performed automatically.

Local history

  • In RubyMine you have the ability to track all the local changes without any VCS. No accidental changes or modification will pass unnoticed.
  • At any time you can inspect the history of either a particular file or directory, and roll back to any of its previous versions. You can also set version labels.

Changes view

See what has been committed to the VCS by other team members, and refer to the Incoming Changes view for code changes not yet integrated into your local copy. Group your changes into multiple change lists for better organization.

Built-in visual merge tool

A built-in visual merge tool resolves all conflicts in a quick and intuitive manner. The changes made locally are highlighted as you type in the editor gutter, providing intuitive navigation and 2-click rollback for individual changes.

Commit dialog

A commit dialog allows you to perform code analysis, check for TODOs left in your code and reformat the code. If you notice a small issue while looking at a diff, no need to go back to the editor—just unlock the editing mode and apply changes in-place.

Diff viewer

You can easily track changes and view differences between two files, or compare two versions of a file (local changes or changes between local files and their revisions in a remote repository) using the integrated graphical Diff Viewer.

Shelve changes

If you need to work with the repository files and have uncommitted changes, just shelve them—the IDE will keep the changes safe until you decide to commit or merge them.

Patches and arbitrary reverting

Create patches directly from the code to later apply and merge with repository files. You can also revert any arbitrary code change, committed by you or your colleagues, by applying a reverse patch.

Database Tools

Database viewer

Access Oracle, SQL Server, PostgreSQL, MySQL, SQLite and other databases right from the IDE. RubyMine provides a UI for introspecting all objects, adding and editing tables, adding columns, indexes, constraints, etc.

SQL injection

SQL code can be injected to other languages or edited with syntax highlighting, smart code completion, on-the-fly code analysis, code formatting and navigation.

Learn more about database tools

Data editor

A powerful data editor lets you add, remove columns and clone existing ones. Navigate through the data by foreign keys, or use text search.

Remote Development & Deployment Tools

SSH remote tools

The Built-in SSH Console let you connect to any remote machine and perform various actions via SSH. In addition, SSH Remote Tools can be configured to run any remote tool right from the IDE with a single keystroke.

Remote interpreter

Using a remote Ruby interpreter instead of a local one lets you run and debug your application on a production-like or testing environment, be it the real server or a virtualized one created with Vagrant or Docker.


Integration with Vagrant allows you to share a development virtual machine by sharing a simple script. Other developers can then launch an identical machine by running the ‘up’ Vagrant command.


RubyMine integrates Docker, a popular open platform for distributed applications. Specify a Ruby interpreter from a Docker container and use it in your project for running, debugging and profiling your applications.


Following the main concepts of Chef, a configuration management tool, RubyMine supports cookbooks, recipes and resources. It provides marking/detection options for a cookbook and code insight for a resource along with its attributes.


Take advantage of syntax highlighting and auto-formatting for puppet manifests; smart code assistance for variables, classes, resource types and parameters, facts and external functions and types; and the ability to set up several environments.

Other Tools

Issue tracker integration

Link your issue tracker account with your project and work on it in the context of tickets and tasks. RubyMine provides support for Jira, JetBrains YouTrack, PivotalTracker, Redmine, Mantis, GitHub and Gitlab, Bugzilla, and more.

Plugin ecosystem

Dozens of plugins are available in the IDE Plugin Repository for when you decide to enrich RubyMine with support for new frameworks, integrated tools, and additional productivity features.