Free 30-day trial available
Rails 8 introduces the rate_limit
function for use with controllers. To allow you to take advantage of this new feature, we’ve implemented code insight for it, including code highlighting and completion.
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.
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.
RubyMine 2024.2 offers built-in support for Stimulus, a JavaScript framework that integrates with static HTML and DOM elements. The support includes code completion, navigation, and the Rename refactoring. The Stimulus plugin is bundled with RubyMine and works in .erb
files. The stimulus-rails
gem is shipped by default with Rails starting from version 7.
When you open your project, RubyMine checks that the configured Ruby SDK matches the configuration files – .rvmrc
for RVM SDKs; .ruby-version
, .ruby-gemset
, or .rbenv-version
for rbenv SDKs; .tool-versions
for asdf SDKs; or .versions.conf
for RVM SDKs.
RubyMine suggests selecting a relevant SDK if one that matches the module configuration files is already installed.
If you are using rbenv, rvm, or asdf to manage your Ruby versions, RubyMine will suggest installing the appropriate version of the Ruby SDK based on the configuration files in your project (for example, .rvmrc
, .ruby-version
, or .rbenv-version
). RubyMine checks the selected Ruby SDK and configuration files on project opening.
AI Assistant’s completion feature can now be activated at the end of lines with content, meaning it works after .
, ::
, and after binary expressions.
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.
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.
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
.
Because Rails 8 uses Markdown documentation instead of RDoc, 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.
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 even works with remote SDKs.
If you don’t specify a file, RubyMine will use either .rubocop.yaml
or the default settings if .rubocop.yaml
is not found in your project.
A new formatter setting in RubyMine allows you to control the spaces inside array literals. This new setting is designed to align RubyMine with the behavior of RuboCop and can be accessed from Settings | Editor | Code Style | Ruby | Spaces | Within array literals.
When creating a new Rails application, you can now specify Bun as the JavaScript framework. Please note that this feature is available only if your Rails version is 7.1.0.beta1 or later.
With the introduction of RBS 3.5, RubyMine now supports the declaration of methods with untyped parameters. It doesn't return redundant syntax errors for such methods; instead, it correctly provides inlay hints for them.
RubyMine now parses and recognizes optional fields with different types of keys. Additionally, we’ve improved subtype checks.
We enabled the new UI for all RubyMine users in version 2024.2. The new UI reduces visual clutter, ensuring easy access to essential features while gradually revealing more advanced functionality as needed. It is clean and modern, providing bigger, easier-to-use controls, a consistent color palette, light and legible icons, increased contrast, and better accents.
You no longer need to install language support plugins if you use your IDE in Chinese, Korean, or Japanese, as these language packages come bundled in RubyMine 2024.2.
To update your IDE language, navigate to Settings | Appearance & Behavior | System Settings | Language and Region and select your preferred language from the Language list.
Free 30-day trial available