RubyMine 2024.1: Full Line Code Completion, New Terminal, Improved AI Assistant and VCS Support

RubyMine 2024.1 is now available!

At the heart of RubyMine 2024.1 lies its full line code completion feature, which is powered by a fully-integrated, advanced deep learning model. RubyMine 2024.1 also introduces support for the mise version manager, further streamlining the management of Ruby versions. This release includes improved AI Assistant and inspection updates tailored to Ruby 3.3.

Additionally, RubyMine 2024.1 enhances the development experience with features such as closing tags in ERB, the ability to run VCS commands with the current project’s SDK, and debase 3.0 support that is optimized for Ruby 3.3, enhancing debugging capabilities and ensuring seamless compatibility with the latest Ruby version.

Below is a brief overview of the most notable features. For a detailed description of this update, please visit our What’s New page.

You can get the new build from our website or via the free Toolbox App.

Full Line Code Completion

RubyMine now comes with full line code completion for Ruby. This feature is powered by an advanced deep learning model seamlessly integrated into the IDE. It enhances coding efficiency by predicting and suggesting entire lines of code based on contextual analysis. These suggestions are powered by specialized language models that we’ve trained specifically for different languages and frameworks and that run entirely on your local device, ensuring your data remains secure without any need for communication with an external server. This functionality is included in the RubyMine license subscription.

Improvements in AI Assistant

AI Assistant got several valuable updates, including improved test generation, custom prompts for commit messages, the ability to create files from code snippets, and updated in-editor code generation.

Please note that in version 2024.1, AI Assistant has been unbundled and is now available as a separate plugin. This change is driven by the need to offer greater flexibility in decision-making regarding the use of AI-powered technologies, providing you with more control over your preferences and requirements in your working environments. AI Assistant still requires an active JetBrains AI subscription.

New terminal Beta

RubyMine 2024.1 unveils an overhauled terminal featuring both visual and functional enhancements to streamline command-line tasks. This update gives the familiar tool a fresh new look, with commands separated into distinct blocks, along with an expanded set of features, such as smooth navigation between blocks, command completion, and easy access to the command history.

Support for Ruby classes and files with custom inflections

RubyMine now recognizes Ruby class and file names with custom inflections and displays the correct icons for them in the Project view, tabs, and the Search Everywhere dialog. Navigation and code insight also work with acronyms used in controllers and models.

Closing tags for loops and conditionals in ERB

RubyMine adds closing <% end %> tags after loops and conditional blocks, including if, unless, while, for, begin, until, and so on.

Support for the mise version manager

In version 2024.1, we’ve added support for the mise version manager. This support includes the detection of mise-installed Ruby versions, compatibility with Bundler, and all the crucial operations like running, debugging, and testing.

Sticky lines in the editor

To simplify working with large files and exploring new codebases, we’ve introduced sticky lines in the editor. This feature keeps key structural elements, like the beginnings of classes or methods, pinned to the top of the editor as you scroll. This way, scopes always remain in view, and you can promptly navigate through the code by clicking a pinned line.

Jump outside closing | symbols 

You can now jump outside of closing | symbols simply by pressing Tab.

Inspection updates for Ruby 3.3

RubyMine no longer shows warnings for retry, redo, break, or next within a defined?() statement, even outside of a loop and more accurately detects method definitions that have literal receivers and displays the appropriate warnings.

Review branch changes in the Log tab

RubyMine 2024.1 streamlines the code review workflow by offering a focused view of branch-related changes. For GitHub, GitLab, and Space, it is now possible to see changes in a certain branch in a separate Log tab within the Git tool window. To do so, click on the branch name in the Pull Requests tool window and pick Show in Git Log from the menu.

In-editor code review

RubyMine 2024.1 introduces an enhanced code review experience for both GitHub and GitLab users with the implementation of a new review mode. Integrated within the editor, this feature facilitates direct interaction between authors and reviewers. Upon checking the pull/merge request branch, review mode activates automatically and pink markers appear in the gutter, indicating that code changes are available for review. Clicking on these markers reveals a popup displaying the original code so you can quickly identify what has been changed. Gutter icons help you swiftly initiate new discussions, as well as view and hide existing ones. They also provide easy access to comments, making it easy to review, reply, and react to them.

Statuses of CI checks in the Git tool window

We’ve introduced a new column in the Log tab of the Git tool window, allowing you to easily review the results of GitHub commit checks performed by your CI system.

Create pull/merge requests from push notifications

After successfully pushing your changes to the version control system, the IDE will now alert you with a single notification informing you about the successful push and suggesting an action to create a pull/merge request.

To learn about the newest features as they come out, please follow RubyMine on X

We invite you to share your thoughts in the comments below and to suggest and vote for new features in the issue tracker.

Happy developing!

The RubyMine team

image description