RubyMine 2023.1 EAP5 Is Out!
Hello everyone,
RubyMine 2023.1 EAP5 is now available! Below you can find the most notable features in this build. We encourage you to try them out and share your feedback in the comments or in our issue tracker.
Migration of Ruby code to the Symbol API
In order to improve code insight actions such as Find Usages, navigation, and the Rename refactoring, we are migrating some parts of the Ruby code to the Symbol API.
Migration of global variables
With the migration of global variables to the Symbol API, we’ve managed to provide a variety of optimizations and improvements for code insight features. These changes are especially noticeable when working with multiple declarations.
Navigation
- The
$
prefix is no longer highlighted as part of a global variable when you navigate to its declaration. - If there are multiple implementations of a particular global variable, you will see a standard hint instead of the “Multiple implementations” caption when going to the declaration.
- You can now view usages of a global variable when holding ⌘ (on macOS) or Ctrl (on Windows) and clicking on a declaration. Previously, RubyMine showed only a list of declarations.
Quick Documentation
- You can now see syntax highlighting in the Quick Documentation headers.
- We no longer redirect you from Quick Documentation to rubydoc.info, as there is no documentation on global variables.
- If there are multiple declarations with documentation, you can see the documentation for all declarations at once by pressing F1.
Code completion
- The
$
prefix is no longer included in completion suggestions.
- In the list of completion suggestions, RubyMine now displays the location of a declaration on the right-hand side instead of displaying the global variable’s comment there.
Find Usages and the Rename refactoring
- When renaming a global variable, RubyMine uses the new API, meaning inline renaming and a preview are now available.
Creation of Data instances with square brackets
In an earlier blog post about EAP3, we mentioned the newly added support for Data.define
.
In this build, we’ve made it possible to create instances of the Data
class using square brackets. RubyMine recognizes the types of these instances and displays them when invoking the Type Info action.
Display of usage types when renaming RBS symbols
We previously added support for displaying the usage types of Ruby symbols in the Rename preview. Now, RubyMine also shows the usage types of RBS symbols when you rename them.
Project tabs in the new UI on macOS
In response to a popular user request, we’ve implemented project tabs for macOS users in the new UI. When you have several projects open, you can now easily switch between them using the project tabs displayed under the main toolbar.
Option to filter files in the Coverage view
You can now filter files in the Coverage view after running tests with coverage. RubyMine allows you to view coverage details for the whole application or focus on the files that contain uncommitted changes and might require special attention during testing.
Completion for custom component events in Vue
We’ve made further improvements to Vue support in RubyMine 2023.1. You can now benefit from code completion for your custom component events in Vue templates. This completion is available as you type and works identically in both JavaScript and TypeScript.
Join the Early Access Program
You can download the latest EAP build from our website or via the Toolbox app. The full list of closed tickets in this EAP build is available in the release notes. To learn about the newest features as they come out, please follow RubyMine on Twitter. We post product news and tips several times a week. We encourage you to share your thoughts in the comments below and to create and vote for new features in the issue tracker.
Happy developing!
The RubyMine team