RubyMine 2024.2

Released: Aug 12, 2024

2024.2 버젼 업데이트

기능

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 allow you to take advantage of this new feature, code insight has been implemented for it, including code highlighting and completion.
  • Code insight for browser guards - This release adds 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 now 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.

Stimulus

  • This release 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.

Ruby

  • Suggestion to switch the Ruby SDK on project opening - 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.
  • Ruby installation from the SDK not found notification - If you are using rbenv, rvm, or asdf to manage your Ruby versions, RubyMine will now 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

  • 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 . , ::, and after 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 now 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.

Features and improvements

  • Completion for Ruby-related commands in the new terminal - The new terminal provides automatic completion for commands, options, subcommands, arguments, and more. In this release, completion for the following commands has been added: ruby, rails, rake, bundle, rbenv, irb, pry, rbs, and rspec.
  • Markdown rendering in reader mode and quick documentation - Because Rails 8 uses Markdown documentation instead of RDoc, Markdown rendering has been made 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.
  • 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 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.
  • Option to adjust the spaces inside array literals - 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.
  • Bun as a JavaScript framework for Rails projects - 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.
  • Support for RBS function types with the untyped parameter - 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.
  • RBS optional record keys - RubyMine now parses and recognizes optional fields with different types of keys. Subtype checks have also been improved.
  • New UI as the default - The new UI has been enabled for all RubyMine users in this release. 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.

Localization

  • Chinese, Korean, and Japanese languages out of the box - You no longer need to install language support plugins if you use your IDE in Chinese, Korean, or Japanese, as these language packages now come bundled in RubyMine.