RubyMine 2024.2 Is Out!
Hello everyone!
We’re glad to announce that the new RubyMine version is now available. You can download it from our website, via the free Toolbox App, or by using snaps for Ubuntu.
Starting with RubyMine 2024.2, you no longer need to install language support plugins if you use your IDE in Chinese, Korean, or Japanese. These language packages now come bundled with the IDE out of the box.
Another big improvement is that the new UI has become the default in RubyMine 2024.2. You can learn more in this dedicated blog post.
When it comes to new features, we have some exciting updates, including Stimulus support, Rails updates, AI completion improvements, custom RuboCop configurations, and more. Below you will find an overview of the most notable features. For a detailed description of this release, visit our What’s New page.
Stimulus
RubyMine 2024.2 offers built-in support for Stimulus, which includes code completion, navigation, and the Rename refactoring. The Stimulus plugin is bundled with RubyMine and works in .erb
files.
Rails
Completion for Kamal configuration files
RubyMine now provides code completion for Kamal configuration files. When editing deploy.yaml
and .env
files, you’ll see completion suggestions for Kamal-specific properties.
Code insight for rate limiting
Rails 8 introduces the rate_limit function for use with controllers. To enhance your experience with this functionality, we’ve implemented code insight for it, including code highlighting and completion.
Code insight for browser guards
In RubyMine 2024.2, we’ve added code insight for the browser guard method. This includes highlighting for the allow_browser
function, as well as completion for browser names and only
arguments.
Model validations and callbacks in the Rails Structure view
You can view model validations and callbacks in the Structure view and hide them if needed. Additionally, callbacks are shown for certain syntax, such as uses of the after_create
keyword or method.
Ruby
RubyMine now checks the configured Ruby SDK on project opening and suggests selecting a relevant SDK if one that matches the module configuration files is already installed. If you are using rbenv, RVM, or asdf, RubyMine will suggest installing the appropriate version of the Ruby SDK based on the configuration files in your project.
AI Assistant
Inline AI-based completion at the end of lines
AI Assistant’s completion feature can now be activated at the end of lines with content, meaning it works after .
(as in str.<caret>
), ::
, and binary expressions.
Better multiline code completion
The prompts for multiline code completion now request specific technical details, allowing it to provide more relevant suggestions. These details include the Ruby version in use, whether you’re working in a Rails or Gem project, the test framework in use, the name of the current file, and the five most popular gems in the project.
Improved Rails context
AI Assistant works more effectively with the context of Rails applications. For example, when you request a code explanation for a controller, AI Assistant now takes the corresponding model and routes into account.
Completion for Ruby-related commands in the new terminal
The new terminal provides automatic completion for commands, options, subcommands, arguments, and more. In RubyMine 2024.2, we’ve added completion for the following commands: ruby
, rails
, rake
, bundle
, rbenv
, irb
, pry
, rbs
, and rspec
.
Custom RuboCop configurations
In Settings | Tools | RuboCop, you can now select a custom RuboCop configuration file. RubyMine passes the path to your configuration file as a RuboCop command argument with the --config
option, which ensures it works with remote SDKs.
Directly run and debug TypeScript files
You can now run and debug TypeScript files without any additional setup. You can execute them from different entry points, including the file context menu, the Run widget, and the Current File configuration.
Bun as a JavaScript framework for Rails projects
When creating a new application with a Rails version of 7.1.0.beta1 or later, you can now specify Bun as the JavaScript framework.
Markdown rendering in reader mode and quick documentation
We’ve made Markdown rendering available in reader mode and quick documentation popups. This functionality will work if a file has the # :markup: markdown
directive at the beginning or if the project root has an .rdoc_options
file with the line markup: markdown
in it.
To learn about the newest features as they come out, please follow RubyMine on X.
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