Hi, habravchane!
In November, we announced the updated IntelliJ IDEA, CLion, PyCharm, and DataGrip, and this article is for Ruby / Rails developers. We released RubyMine 2016.3, the final update to our IDE for Ruby and Rails this year! The update is available for download and free 30-day review on
our website .
Now that new you will find in this version.
')
Attaching a debugger to previously running processes
Did you have to restart a working server and reproduce the problem again only because it was started without any gems for debugging? If so, you'll be glad to know that RubyMine can now be attached to already working Ruby / Rails processes. The IDE itself will determine the version of Ruby and Gemset used to run the script, install all the necessary gems, connect to the process, whether it is launched from the IDE, terminal or pipeline, and open access to all features of the debugger.

Read more about attaching a debugger to local processes in English in the
RubyMine blog . You can also vote for adding the ability to join remote processes
in our tracker .
Developed Puppet Support
“Developed” for the reason that previously existed, but now it has become much better. Consider the points:
Improved code completion
- We added live templates and autocompletion for all the basic syntax structures: case, class, define, function, if, node, and unless .
- Also added autocompletion of data types for typed parameters of classes, functions and resources.
- RubyMine now supports functions written in Puppet. They are also available in autocompletion.

Improved navigation and refactoring
- Go to Declaration, Find Usages and Rename refactoring now work more precisely thanks to a more accurate context definition.
- We made renaming work “on the fly”, without additional dialogs, like in Java.

A
separate post was also written on the topic of Puppet.
Fast sync with remote SDK
If you use our IDE, you know that before synchronization of gems with copies on a remote server required, to put it mildly, considerable time and patience. But we reformed. Integration with rsync allowed to increase the download speed of gems dozens of times.

Full support for Minitest :: Spec
Now RubyMine selects the necessary framework to run Spec-tests and allows you to run tests from a folder with specifications.
Note: for everything to work correctly, you need to call
'minitest / reporters' and enable the
RubyMineReporter in the specification file.

User interface
Updated configuration interface for Ruby SDK and gems
Many Ruby developers use gemsets to manage a set of gems. At first we supported RVM gemsets, and a year ago both
Rbenv gemsets and our UI did not cope with this load. In this version of RubyMine, we completely redesigned this interface and made it more convenient and understandable. A separate
post on our blog has also been written on this topic.

Initial Setup Wizard
In addition to the new gem interface, we have created an initial setup dialog. Now it is possible to select the IDE color scheme and keyboard shortcut scheme, disable unnecessary plugins and immediately download new ones, for example IdeaVIM.

Updated Icon Design
The icons have been redesigned in a “flat-design” style, making the files and folders in the Project Tool Window more clearly displayed.

In addition to updates related to Ruby / Rails, we inherited a number of platform improvements from our flagship, Intellij IDEA. We list them briefly (for more details, see here, on Habré,
in the article about IntelliJ IDEA 2016.3) :
Javascript
Flow
Now, if you specify Flow as the JavaScript version, and also specify the path to the Flow distribution, the corresponding inspections will work.
ECMAScript 6
- Now RubyMine automatically converts variables declared by var into const / let , depending on the semantics of their use.
- For all calls, the require IDE will suggest an autochange for import .
- For all classes declared using prototype functions and chains, the IDE will offer an autocorrect for full classes.
TypeScript
The problem of renaming inherited methods has been fixed.
Version control system
The VCS is really nice changes. We hope you like them.
Reworked Git and Mercurial log: search has become faster, and the interface is simpler. Conflict resolution is now more efficient, some simple conflicts are resolved automatically. In addition, the IDE has made it easier to manage local and remote changes. More information can be read as in the post about IntelliJ IDEA, to which the link is given above, and on our
website .
Database
These changes include more convenient data editing with the possibility of mass changes, intelligent prompts and improved integration with utilities and drivers. If you use database tools in RubyMine, then read the recent Habré
DataGrip post . The improvements mentioned in it are available in the new version and our IDE.
And something else
Other enhancements include mapping classes according to MVC architecture in the Rails Project Tool Window; rename files without searching for occurrences; React Native support.
You can learn more details and download RubyMine for free for 30 days on the
What's New page.
Thanks for attention! We will be glad to hear your opinions in the comments and try to support the discussion.