Git staging support, improved tab management in the editor, interactive hints and inline watches in the debugger, and many more new features for the latest version of Ruby, Rails, the terminal, code coverage, and database tools.
We’ve made it more convenient to work with multiple tabs side by side. You can now split the editor when opening your file by pressing Shift+Enter. This works for files in the Project view and in the Search Everywhere popup. You can also drag and drop file tabs to split the editor vertically or horizontally, and move tabs between the splits.
Pinned tabs now stick to the left side of the tab bar. You can also keep all your pinned tabs in one row. To do so, go to Preferences / Settings | Editor | General | Editor Tabs and check the Show pinned tabs in a separate row option. There’s also a new icon to indicate when a tab is pinned. Clicking on it unpins the file.
With the Markdown tool, you can now format your Markdown files using Ctrl+Alt+L.
To customize the Markdown format, go to Preferences / Settings | Editor | Code Style | Markdown. The Auto-Scroll Preview button in the top-right corner of the editor allows you to synchronize scrolling of the preview pane and the editor. We’ve also added support for Mermaid.js.
RubyMine 2020.3 comes with a redesigned Welcome screen. Now you can access and arrange your projects in the Projects tab, set up the IDE interface in the Customize tab, manage plugins in the Plugins tab, and access learning resources in the Learn RubyMine tab.
RubyMine can now synchronize its theme with your OS. Select the Sync with OS option in Preferences / Settings | Appearance & Behavior | Appearance | Theme, and click the gear to select your preferred theme. Your IDE will automatically switch to the light or dark theme, depending on your OS preferences.
This mode renders read-only files and files from external libraries into a more readable format. You can turn it on and off by clicking on the book icon in the top right corner of the editor. To customize the Reader mode settings, go to Preferences / Settings | Editor | Reader Mode.
We’ve added the
--edit) option to open files
in LightEdit mode from the command line. When you open RubyMine from the command line,
-e followed by the name of the file you want to open, or just run
-e without a file name to reopen your previous session.
RubyMine 2020.3 makes it easier to keep your text free from typos. Suggested fixes are now shown directly in the Alt+Enter menu, just like quick-fixes for code.
We’ve also added a new Transpose action that flips the current character with the one that follows it.
The Search Everywhere dialog now has a new Git tab. You can now look up branches, commit hashes and messages, and tags. You can also perform simple mathematical calculations right in the search field.
To quickly find files you are looking for, you can now use file preview. To preview a file, select it in the Project view and press Space. Alternatively, you can set up the IDE to immediately show a preview when a file is selected. To enable this feature, click the gear icon in the Project view and select both Enable Preview Tab and Open Files with Single Click.
RubyMine 2020.3 features basic support for the new syntax that comes with Ruby 3.0 preview. You can already try out most of the new language features, for example, endless method definitions.
Please note that support for Ruby 3.0 is still a work in progress. Features like code assistance and RBS support will be properly implemented after the Ruby 3.0 release version is out. We are keeping a close eye on its state, and plan to fully support it in our 2021 releases.
When you work on multiple projects, they might be using different versions of Ruby. RubyMine’s built-in Terminal emulator now uses the version of Ruby that is selected for the current project. It also specifies which exact version is being used when you launch a terminal instance.
RubyMine now allows you to configure custom environments for your projects using tools like shadowenv or direnv. This comes in handy when you have multiple projects that each need different environment variables. Any Ruby commands run with RubyMine will be executed using the environment variables provided.
You can now use Pry instead of IRB in RubyMine. Make sure that you have the pry gem installed in your project, then go to Tools | Run Pry to launch the console.
We’ve made working with
Use Ctrl+Alt+Home to quickly navigate between a route in
routes.rb and its related models, views, and controllers.
Ctrl+click on a method in
routes.rb to jump
to the related method in a controller.
We’ve improved completion for
routes.rb. For example, it now works
for all Match and HTTP helpers (such as
RubyMine 2020.3 adds
structure.sql support for projects that use it
instead of a
schema.rb file. Now you can use autocompletion
for models that rely on
structure.sql. You can also navigate between
your Rails entities and
RubyMine now supports staging changes directly from the IDE. You can stage and unstage files by clicking the + and - icons in the Commit view. You can also stage changes from the gutter or in the Diff view.
To enable this feature, go to Preferences / Settings | Version Control | Git and select the Enable staging area checkbox.
We have renamed and rearranged the version control actions in the main menu to make the most common VCS operations easier to access. For example, if your project only uses Git, the VCS menu will look like this:
You can now share run configurations with your teammates using a version control system.
Run configurations can now be saved as XML files and added to a VCS. To do this, go to Run | Edit Configurations, select the configuration you want to share, check the Store as a project file option, and click Apply.
In projects that use simplecov for code coverage analysis, RubyMine now shows information about the coverage of branches and subprocesses.
You can now navigate between a factory and its related entities with
Ctrl+Alt+Home. Code completion now suggests model attributes
for Factory Bot strategies like
Debug mode now has interactive inline hints for variables. You can click these hints to change the value of a variable field. To do so, click Set Value, change the value of the field, and press Enter.
RubyMine 2020.3 adds a new type of watch expression. These expressions will be associated with a particular context and shown right inside the editor. You can add them using the inline hint: open a hint, and click Add Inline Watch. You can manage your inline watches in a new Inline Watches node in the Variables tab of the Debug tool window.
RubyMine 2020.3 supports one more database: Couchbase! Please note that this includes support for the Couchbase Query service, not the Couchbase Analytics service.
You can now use SQL to query MongoDB databases.
RubyMine 2020.3 supports Code With Me (EAP), the new tool from JetBrains for remote collaborative development and pair programming. With it, you can share the project you currently have open in your IDE with others and work on it together in real time.
Please note that Code With Me is still in active development, and has known issues. Feel free to report any issues you encounter, and vote for fixes and features you want to have!