RubyMine 2023.2 includes our new AI Assistant feature, increased Turbo-Rails and Import Maps support, improved performance, LSP API support for plugin developers, and increased functionality for RBS and Vue.
This release brings updates to Turbo code completion in Ruby on Rails projects. It is now possible to use code completion for Turbo streams in controllers and views and for broadcasting Turbo streams from models. Completion for Turbo frames in views is also available.
Users can now use importmap commands in Run Anything, autocomplete module
specifiers and file paths in the pin
and pin_all_from
methods, and navigate between imported modules and their usages.
Now you can enjoy syntax highlighting for code samples, making it easier to understand the purpose of each inspection.
We have added code insight for ActiveRecord::Store
accessors. Enjoy code
completion and navigation for accessors, dirty tracking methods, methods to
access the changes made during the last save, and validations on accessors.
You can customize the display formats of different objects in the Debug tool window. This functionality is achieved through the use of renderers, which are unique configurations associated with specific types that dictate how instances of those types are presented in the Debug tool window. By utilizing custom expressions, these renderers offer a high level of flexibility for displaying data.
You can ask questions, discuss tasks, or collaborate with our AI Assistant. The IDE will provide information that is relevant to your project, including details specific to the programming languages and technologies used in it. Once you’re satisfied with the results, you can insert the AI-generated code into the editor using the Insert Snippet at Caret function or by simply copying and pasting it.
The Commit Changes dialog now has a Generate Commit Message with AI Assistant button. Click it to send your change differentials to the LLM, which will then generate a descriptive commit message summarizing your modifications.
To generate documentation for a declaration using an LLM, simply access the AI Actions submenu and choose the Write documentation action. By selecting this option, the IDE will generate the static portion of the comment, while the AI will take care of generating the actual documentation text on your behalf.
We’ve refined the behavior of the hamburger menu in the main toolbar for Windows and Linux. The menu elements will appear horizontally over the toolbar and the menu can be converted into a separate toolbar.
Window controls are now displayed right in the main toolbar and not in the floating bar as before.
In the Project view, you can now use the Open Directories with Single Click option, enhancing the speed and responsiveness of expanding and collapsing project folders. To access this option, simply click on the three dots icon and select it from the drop-down menu.
A new option called Light with Light Header provides a consistent and cohesive visual experience. This option ensures that window headers, tooltips, and notification balloons all have matching light colors, further refining the overall aesthetic.
Сolored project headers are designed to streamline navigation among multiple open projects. You can now assign a distinct color and icon to each project, providing a visual aid for distinguishing them within your workspace.
We have implemented a new quick-fix action that allows you to replace typos in symbol names with suggested corrections.
Formatting functionality is now available for class and module aliases.
Naming convention inspections for interfaces, type aliases, and type variables are now available.
Code insight functionality is now available for use
syntax in RBS.
We’ve added annotations and inspections for directives when they are misused.
RubyMine ensures that formatting of use directives is consistent and follows established standards.
Code insight, navigation, type inference, and rename refactoring are now available for class and module aliases.
We’ve optimized gem synchronization for Docker and docker-compose SDKs. We now only use the Docker Engine API to copy gems from both an image and a running container.
We gave the RubyMine lexer a major overhaul, which dramatically increased its lexing and parsing speed.
LSP API support encompasses functionalities such as error and warning highlighting, quick-fixes, code completion, and navigation to declarations. We also plan to introduce additional features in the near future.
We’ve updated the default code folding options. Now they are:
Initial Vue Language Server (Volar) support has landed in RubyMine to provide more accurate error detection. By default, Volar will be used for TypeScript v5.0 and higher, with our own implementation used for earlier versions.
To enhance the experience of managing multiple run configurations, we have made it possible to pin your preferred configurations in the Run widget.
You can now arrange files by modification time in the Project view. RubyMine will now automatically arrange your files based on their modification time.
You can now conveniently add actions to the toolbar using a drop-down menu.
Explore the new collection of live templates and enjoy a more efficient development experience with React hooks.