RubyMine 2023.2

Adds new AI Assistant, increased Turbo-Rails and Import Maps support.
July 27, 2023
New Version

Features

Ruby and Rails

  • Turbo-Rails support - 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.
  • Import Maps support - 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.
  • Syntax highlighting in inspection descriptions - You can now use syntax highlighting for code samples, making it easier to understand the purpose of each inspection.
  • Code insight for Rails store accessors - Added code insight for ActiveRecord::Store accessors. You can use code completion and navigation for accessors, dirty tracking methods, methods to access the changes made during the last save, and validations on accessors.
  • Custom type renderers in the debugger - You can now 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.

AI Assistant [Limited access]

  • AI Chat - You can now ask questions, discuss tasks, or collaborate with the 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.
  • Commit message generation - 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.
  • Documentation generation with AI Assistant - 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.

New UI

  • New hamburger menu for Microsoft Windows and Linux - The behavior of the hamburger menu in the main toolbar for Windows and Linux has been refined. The menu elements will appear horizontally over the toolbar and the menu can be converted into a separate toolbar.
  • Updated window controls on Apple macOS - Window controls are now displayed right in the main toolbar and not in the floating bar as before.
  • Single-click navigation between project directories - 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.
  • Light theme with light header in the new UI - Added a new option called Light with Light Header which 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.
  • Colored project headers in the new UI - С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.

RBS

  • Support for renaming typos - A new quick-fix action has been implemented which allows you to replace typos in symbol names with suggested corrections.
  • Class and module aliases formatting - Formatting functionality is now available for class and module aliases.
  • Naming convention inspections - Naming convention inspections for interfaces, type aliases, and type variables are now available.
  • Сode insight for use syntax - Code insight functionality is now available for use syntax in RBS.
  • Annotations and inspections for use directives - Added annotations and inspections for directives when they are misused.
  • Use directives formatting - RubyMine ensures that formatting of use directives is consistent and follows established standards.
  • Code insight for RBS class and module aliases - Code insight, navigation, type inference, and rename refactoring are now available for class and module aliases.

Performance

  • Improved gem sync for Docker and docker-compose SDKs - gem synchronization for Docker and docker-compose SDKs has been optimized. Now only the Docker Engine API is used to copy gems from both an image and a running container.
  • Updated lexer - The RubyMine lexer has been given a major overhaul, which dramatically increased its lexing and parsing speed.

Features and Improvements

  • LSP API support for plugin developers - LSP API support encompasses functionalities such as error and warning highlighting, quick-fixes, code completion, and navigation to declarations.
  • Updated code folding settings - Updated the default code folding options. Now they are:
    • Code fences.
    • Front matter.
    • Link destinations.
    • Table of Contents.
    • Tables.
  • Vue Language Server support - 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 JetBrains' own implementation used for earlier versions.

User Experience

  • Pinned run configurations in the Run widget - To enhance the experience of managing multiple run configurations, it is now possible to pin your preferred configurations in the Run widget.
  • File sorting by modification time in the Project view - You can now arrange files by modification time in the Project view. RubyMine will now automatically arrange your files based on their modification time.
  • Improved main toolbar customization - You can now conveniently add actions to the toolbar using a drop-down menu.
  • New live templates for React hooks - Added a new collection of live templates which provide a more efficient development experience with React hooks.
RubyMine

RubyMine

Ruby on Rails IDE that provides essential tools for developers.

RubyMine is also available in:

Got a Question?

Live Chat with our JetBrains licensing specialists now.