What's New in RubyMine 2019.3

RubyMine 2019.3 adds better code insight, improves the debugger, and incorporates many platform improvements for Git, JavaScript, and HTTP client. Check out all the new things below and update today. We also encourage you to let us know of any issues and join the RubyMine Slack!

RuboCop

RuboCop

Severities mapping

Previously, RubyMine used predefined logic for mapping RuboCop and IDE inspection severities. Now, you can change the default mapping to increase or decrease severities for specific RuboCop offenses. Read this RuboCop help topic to learn more.

Code insight

Better code insight for Struct

Better code insight for Struct

Thanks to improved code insight for structure types, you can now find usages of the required structure type and navigate back to its declaration. To learn more about the other Find usages improvements, read this blog post.

Type support for fixture calls

Type support for fixture calls

The new version of RubyMine provides improved code insight for fixture calls in Minitest/Test::Unit tests. The editor now offers autocompletion for such calls and can navigate you to the related database fields.

Rails

Run Rails tasks with Run Anything

Run Rails tasks with Run Anything

Before v2019.3, Rails generators and Rake tasks could be run via dedicated popups. Now, you can use Run anything as a single entry point for running tasks/generators. For example, pressing Ctrl+Alt+R invokes the Run Anything popup and adds the rake command automatically. Learn more in this blog post.

Stimulus and Elm for new Rails projects

Stimulus and Elm for new Rails projects

With 2019.3, you can specify Stimulus or Elm as the JavaScript library for new Rails projects.

Debugger

Interactive debugging for the Rails console

Interactive debugging for the Rails console

RubyMine now allows you to examine your program’s state when debugging in the Rails console. To do this, just switch to the Interactive console tab after hitting a breakpoint.

YARD

Inferring types for @param and @return annotations

Inferring types for @param and @return annotations

We’re constantly improving our support for YARD to help you create and manage YARD tags. In v2019.3, RubyMine infers parameter and return types from the parent class for using it in the Add @param tag and Add @return tag intentions.

Read about YARD support for an overview of RubyMine’s YARD features.

Code Style

Aligning method chains

Aligning method chains

With v2019.3, we’ve added a new code style option which allows you to align chained method calls in different ways – by the initial receiver or leading dots. To configure this option, open Settings/Preferences | Editor | Code Style | Ruby | Wrapping and Braces and go to the Chained method calls group.

Copyright

Copyright notices for Ruby files

Copyright notices for Ruby files

Now you can quickly add a predefined copyright notice to Ruby files. For more details, see this Copyright help topic.

JavaScript/CSS

Complete CSS classes added using CDN

Complete CSS classes added using CDN

If you’re using Twitter Bootstrap or another CSS library in your project and you have it linked from a CDN in your view file, you can now get completion for the class names from this library, without adding its sources to the project.

Quote style settings for CSS

Quote style settings for CSS

You can now choose whether double or single quotes should be used in CSS (as well as SCSS and Less files) using the new Quote Marks option. If you select Enforce on Reformat, the selected quote style will be applied when reformatting code (and not only when using code completion to add new code).

Support for Vue.js components from separate file

Support for Vue.js components from separate file

RubyMine can now understand the link between different parts of the component located in separate files, and provide proper code completion for props, data, and methods.

Git

Reworked Clone dialog

Reworked Clone dialog

We’ve improved the Clone dialog (VCS | Get from Version control). Now you can log in from this dialog, and the IDE will instantly preview the lists of all repositories grouped by accounts or organizations.

Push any branch

Push any branch

You can now push changes from any branch right from the Branches popup – select a branch and then use the Push action in the menu.

Database tools

Basic MongoDB support

Basic MongoDB support

RubyMine 2019.3 provides initial support for MongoDB. You can view collections and fields in the database explorer, run queries, and so on.

HTTP Client

Dynamic variables in .http files

Dynamic variables in .http files

With v2019.3, you can use dynamic variables in HTTP requests. These variables include $uuid, $timestamp, and $randomInt. Use double curly braces to insert one of these variables where needed.

Run all requests in file

Run all requests in file

The HTTP Client now lets you write multiple requests in one .http file. This can be useful if you need to do request chains when one request depends on the results of the previous ones. Try the new capabilities using this sample app.

Other changes

  • Discontinued support for the RubyMotion and Heroku Integration plugins
  • Sort lines alphabetically using the Edit | Sort Lines command
  • Search in a selected area when using the Find action
  • Improved plugin management without restarting the IDE
  • Better Docker terminal
  • Improved Kubernetes support