Improved navigation, smarter code assistance, easier creation of tests, new LightEdit mode, and many more new features for the debugger, Docker, version control, JS, and database tools.
You can now navigate between Rails entities and a DB schema. To do so, press Ctrl+Alt+Home. To make navigation more seamless, we’ve also unified the look of the navigation popup and made it more compact.
Navigate | Go to Super Method (Ctrl+U) now allows you to select the exact super method you want to navigate to.
You can also search for usages (Alt+F7) of a super method.
In the Structure view (Ctrl+7), you can filter out the variables to see only the methods.
As always, we support the latest Ruby version. This includes, for example, the new '_' syntax of numbered parameters. The IDE identifies the new syntax and helps you navigate, find usages, and rename the objects.
Starting with v2020.1, you can run, debug, and profile your tasks right from the gutter menu. As always, RubyMine automatically creates corresponding run/debug configurations for the tasks that were run.
RubyMine's terminal can now parse various commands. Once an input command is matched, it is highlighted and you can press Ctrl-Enter to open a particular UI with the parameters fetched from the command.
To try this feature out, enable the terminal.shell.command.handling flag in the Experimental Features dialog.
In the Variables view of the debugger, you can now pin variables’ fields to the top and see their values in the variable's representation.
RubyMine can now create a new test for any class, replicating the directory structure based on the path to the test subject.
Using machine learning, RubyMine is now able to rank more relevant completion suggestions higher. Note that ML-assisted completion is a work in progress and we expect to make it even more helpful with time.
With RubyMine 2020.1, you can run, debug, and test your application in a particular environment by using Docker Compose as a remote interpreter. You can specify how commands such as which ruby, gem env, and rbconfig are run inside Docker.
The new LightEdit mode allows you to use RubyMine as a general-purpose text editor. It launches and works a lot faster than usual because it opens your files without loading a project.
Zen mode helps you focus on your code: it expands the IDE window and hides all the elements except the code editor. To try it quickly, press Ctrl+` and select View mode | Enter Zen Mode.
There’s a new unified settings tab to manage your SSH configurations, located under Preferences/Settings | Tools | SSH Configurations. Use it to add, edit, store, and delete SSH configurations.
In RubyMine 2020.1, you’ll get more control over your run configurations, as you can now store them in any project directory of your choice. To do this, select the new checkbox Store as project file and then specify the path to the directory where you want to store a file with the selected run configuration.
You can now split terminal sessions vertically or horizontally to run them side by side. Invoke the context menu from the terminal to create, navigate, and close a split terminal session.
We have recast Interactively Rebase from Here to make the dialog truly interactive. It allows you to edit, combine, and remove your previous commits, making your commit history more linear and comprehensible.
RubyMine 2020.1 introduces the Commit tool window as an alternative to the Commit dialog. You can switch between them in Preferences / Settings | Version Control | Commit | Use non-modal commit interface.
The new tool window is located on the left, which leaves enough room for the editor to show the diff.
The Branches popup includes several improvements:
You can now see the results of your queries in the editor. This feature can be turned on and off with a new button on the toolbar or in Settings/Preferences | Database | General | Show output results in the editor. Choose how to view the data: as table, tree, or text.
Query results can also be exported to Excel.
You can now create Run configurations to run database scripts.
Use new smart intentions and inspections (Alt+Enter) to save yourself some time when coding! For example, you can now quickly convert the existing code to optional chaining and/or nullish coalescing, the syntax introduced in the latest versions of JavaScript and TypeScript.
For JavaScript and TypeScript, the Documentation popup now shows more useful information, including details about the type and visibility of the symbol as well as where that symbol is defined.
With out-of-the-box support for the Vuex library and the Composition API from the upcoming Vue 3, you can build great Vue.js applications even more smoothly.
With the new Run on save for files option, RubyMine will apply Prettier formatting to all files specified in the IDE settings and edited in the project as soon as you save those files – a file watcher or a third-party plugin is no longer needed.