What’s New in RubyMine 2022.3

New UI, enhanced RBS support, improvements for working with shared contexts and examples in RSpec, updated Navigation and Structure view functionality, and improved Remote Development.

Rails

Better ERB structure view

Better ERB structure view

The way tags are displayed in the Structure tool window is now more convenient. We've improved readability and cleaned up extra entries.

ActiveRecord Structure view

ActiveRecord Structure view

RubyMine now displays database attributes at the very top of the Structure view tree, and they are enabled by default. This functionality is available in both the Structure tool window (Alt+7) and the Structure popup (Ctrl+F12).

Quick navigation to tables in the schema.rb structure view

In RubyMine 2022.3 we’ve introduced the ability to view and navigate to specific database tables when browsing your schema.rb file. You can examine and quickly find a database table or table column using the Structure tool window (Alt+7).

Improved New Rails Project Wizard

Improved New Rails Project Wizard

When creating a new Rails project, you will see its path right under the Location field. We’ve updated the Rails version field so it’s easier to install the necessary version of the Rails gem using the plus icon. In the JavaScript framework field, we’ve replaced the “default” value with the explicit name of the framework used by default.

A new inlay hint for controller actions

We’ve added inlay hints above each controller action with a URL that links to the action. To enable or disable the URL path inlay hints, click Settings/Preferences | Editor | Inlay hints and toggle the URL path checkbox.

New UI

New UI available via settings

New UI available via settings

We invite you to try out the new RubyMine UI. It provides easy access to essential features and progressively discloses complex functionality as needed, resulting in a cleaner look-and-feel that is more modern and powerful. You can switch to the new UI in Settings | Appearance & Behavior | New UI (Beta).

RBS

Support for RBS type provision for method references

Support for RBS type provision for method references

Support for RBS type provision is now available when you call a method reference. To invoke the popup that shows the names of the parameters in the method (if the popup has closed or if your IDE is not configured to show it automatically), you just need to select the method and press Ctrl+Shift+P (or click View | Type Info).

Improved editing and adding method signatures to Ruby method definitions

We’ve simplified the process of writing methods with type signatures. There is no longer any need to manage multiple Ruby and RBS files yourself. Now you can write a method definition with just one action. Learn more about this easy way to edit and add new type signatures.

Showing info from RBS in the Documentation Tool Window

Now you can view type information from RBS using the Quick Documentation popup (Ctrl+Q). If the method has an RBS signature, RubyMine will display information about the parameters and return the value in the documentation.

New inlay hints for self-type bindings in RBS

New inlay hints for self-type bindings in RBS

New inlay hints for blocks with self-type bindings in RBS are now available. RubyMine now also shows Numbered parameter type hints only when using a numbered parameter inside a block to avoid displaying too many inlay hints.

RSpec

Completion of shared context names

Completion of shared context names

We’ve added support for completion options from any defined shared contexts and examples.

Support for example group aliases: xdescribe, xcontext, fdescribe, fcontext

RubyMine recognizes the xdescribe, xcontext, fdescribe, and fcontext example group aliases and shows these blocks in the Structure tool window. You can also run these tests using the gutter icons right in the editor.

Navigation between controllers and request and routing specs

RubyMine now links request and routing specs to their respective controllers. You can open the necessary request or routing spec and press Ctrl+Shift+T to navigate to the controller used as a test subject. You can use the same shortcut to navigate backwards.

Find Usages and Rename for shared contexts and examples in RSpec

Find Usages and Rename for shared contexts and examples in RSpec

Now you can search for usages of shared contexts in RubyMine and change names of shared contexts and examples along with their references by using the Rename refactoring.

Run shared examples in the context of referencing groups in RSpec

Run shared examples in the context of referencing groups in RSpec

In this release, we’ve added the option to specify the context for executing shared examples. Now when you run specs containing shared examples, RubyMine displays a dialog where you can choose a context in which to execute them.

Remote Development

A new way to work with projects in WSL2

A new way to work with projects in WSL2

RubyMine 2022.3 brings better IDE performance when working with projects in WSL2. This is an alternative way to use the Remote Development functionality if you work with projects running in WSL2 file systems. Instead of running a full IDE on Windows, your IDE backend will launch directly in WSL2 itself. Then you can connect to it the same way you would connect to any remote machine.

Other Improvements

New project templates for Next.js and Vite

New project templates for Next.js and Vite

The New Project wizard on RubyMine’s Welcome screen now includes project templates for Vite and Next.js. We’ve also updated the project template for Vue to follow the latest standards.

Updates for Vue

Updates for Vue

RubyMine can now take care of unresolved imports and will offer suggestions for importing Vue components. We’ve also provided support for the props destructure syntax, improved the behavior of code completion and type checking for Vue library component props, and fixed several Nuxt 3 issues.

Support for the .dockerignore file type

Support for the .dockerignore file type

We’ve introduced full support for .dockerignore files, including code highlighting and completion. These files are now taken into account when you build an image from the IDE.

New Settings Sync solution

New Settings Sync solution

We’ve introduced a completely reworked solution for custom IDE settings synchronization. The new Settings Sync plugin can sync all shareable IDE settings, bundled plugins, and third-party plugins. Depending on your current approach to synchronization, you may need to enable the new plugin manually. To learn more, check out this article.

Vitest support

Vitest support

RubyMine now supports Vitest, a Vite-native unit test framework! You can run, re-run, and debug your tests, and use the watch mode for All Tests scenario by default. Snapshot testing and coverage are also supported in watch mode, giving you near-instant feedback on coverage when coding.