Bundled RBS type signatures, new inspections for type checking and RBS files, support for remote development workflows, UX improvements, and more.
This version comes bundled with RBS signatures. With the RBS signatures present, RubyMine is able to provide improved code assistance, such as real-time type checking, more precise navigation, search and refactoring, and more.
In this release, we’ve added 12 new inspections for RBS files. RubyMine will check RBS code for style issues, unused entities, inheritance issues, mismatches in partial declarations, and so on.
RubyMine’s built-in spell checker now also works for RBS files.
The Parameter Info pop-up (Ctrl+P) displays the names and types of method parameters. It can now use type information from the corresponding RBS signatures (if they are present).
Your project may contain RBS files that you want to protect by copyright. Instead of adding a copyright notice to each file separately, you can now automatically add copyright information to the beginning of RBS files.
You can now configure RuboCop to reformat files every time one is changed, and the changes are saved automatically or manually. To enable this feature, search for rubocop in Preferences / Settings and select the Run ‘rubocop -a’ on save checkbox.
We’ve added a number of new inspections for detecting mismatches between assigned values and expected types taken from RBS.
These inspections check the types of constants, instance and class variables, method and block parameters, return values, arguments passed to yield calls, and global variables. You can find them under Preferences / Settings | Editor | Inspections | Ruby.
RubyMine now recognizes Sorbet type signatures, including ones from .rbi
files. Type mismatch inspections for method arguments and return values can now work
based on Sorbet.
You can navigate between corresponding Ruby and RBI files using the Go To | Type Signature / Associated Declaration actions from the context menu. You can also use the Ctrl+Alt+Home shortcut.
RubyMine now supports an early version of the remote development workflow. It allows you to connect, from anywhere in the world, to a remote machine running a RubyMine backend. All the processing will happen on that powerful remote machine and you'll be able to work on the project as seamlessly as if it were on your local machine.
In this release, we’ve been working on performance improvements for the code editor. Actions like opening files, typing, invoking code completion, and applying quick-fixes now work faster.
This is only slightly noticeable on average-sized project files, but it is much more apparent when working with large files (2,000 lines of code or more).
In this version, we have reworked the functionality of bookmarks. You can create bookmarks with custom names and group them into nodes. All bookmarks are now located under the new Bookmarks tool window (Alt+2).
You can now split the Run tool window horizontally or vertically. This can be useful when you have several configurations running and want to see their results simultaneously.
Just drag and drop the desired tab to the highlighted area. You can drag the tab back to unsplit the tool window, or right-click the top pane and select Unsplit from the context menu.
You can now turn on the source code preview in the Show Usages window (Ctrl+Alt+F7) by clicking the square icon.
The Checkout and Rebase onto Current action allows you to check out the selected branch and rebase it on top of a branch that is currently checked out. Until now, this has only been available for local branches. Starting from this version, we’ve added the ability to apply this action to remote branches, as well.
Starting from this version, RubyMine will display commit data and the difference between commits in a separate Changes tool window located to the left of the editor.
To open the new tool window, go to the Log tab of your version control system, right-click a revision, and then pick Compare with local from the context menu.
We’ve added a new action that lets you push all the commits up to the one you have selected. This could come in useful when you have several commits that are ready to be shipped while others are still in progress.
We’ve improved the way code completion works in HTML files. Previously, completion
suggestions in HTML files would only show up when you typed the <
character.
Starting with this version, you can also see completion suggestions for HTML files
when you type a tag name or an abbreviation.
You can now update npm packages to the latest version right from the editor. Open your
package.json
file, place the caret on the package version you want
to update, press Alt+Enter, and then select
Update ‘package name’ to the latest version.
We’ve added support for binary responses, gRPC requests, output redirection to a custom file or directory, support for text and JSON streams, and support for HTTP request identifiers.
For projects located in
Space,
you can now create merge requests and code reviews right from the IDE. To call these
actions, click the +
icon on the top toolbar of the Code Reviews
tool window.
In code reviews, the files you haven’t reviewed yet will be marked with blue dots. This will help you make sure you don’t miss any changes in Space projects when performing code reviews.
The dots will disappear automatically after you open the marked items. If you want to review the changes later, you can select Mark as Not Viewed from the context menu.
You can now generate a DDL data source from a real one, use the DDL data source to map the real one, and compare and synchronize them in either direction.
We’ve added the ability to display an Aggregate view for a range of cells. Just select the cell range you want to see the view for, then right click and select Show Aggregate View.
You can now use the new database diff window to compare two schemas or objects: just select them, and press Ctrl+D.
Starting from this version, when you open or import a CSV file, RubyMine automatically detects that the first row is the header and contains the names of the columns.
super
calls in overridden methods.
.js
and .d.ts
files
and added gutter icons for navigating between them.