RubyMine 2023.1 provides Rails 7 and Ruby 3.2 support, new UI updates, faster code completion, decreased memory consumption, improved gem synchronization on WSL, easier navigation and working with shared contexts and examples in RSpec, and enhanced Docker integration.
RubyMine now supports the basic Rails 7 turbo-rails
methods that allow
you to write Ruby code faster than ever before.
ActiveRecord
methods
We’ve added code completion support options for some CRUD methods of the
ActiveRecord
class. RubyMine now suggests completion options
for arguments of ActiveRecord
methods.
create_table
calls to models
We’ve added new gutter icons for navigating from models to their corresponding
create_table
calls in the schema. It is now possible to navigate from
create_table
calls in schema.rb
to related models that use
these tables. Open your schema.rb file and use the gutter icons on the left-hand side
of the editor to navigate to the related models.
Data.define
in Ruby 3.2
RubyMine supports work with the define
method of the Data
class, which was introduced in Ruby 3.2. The IDE now recognizes reader methods
generated with Data.define
.
Data.define
now allows you to create instances of the Data
class using square brackets. RubyMine recognizes these types of instances and displays
them when invoking the
Type Info action.
The new Pow operators option allows you to set spaces for exponentiation operators and other operators separately. You can configure it from the Spaces tab via Preferences | Editor | Code Style | Ruby.
Now, in the Structure tool window, you can see your test structure nested under the corresponding method, making it easier to navigate large tests.
Astro support has arrived!
It’s accessible through a new plugin that offers a range of basic features, including syntax highlighting, code completion with automatic imports, refactorings, navigation, intentions, code folding, support for Emmet, and proper formatting.
Highly anticipated improvements for
Tailwind CSS
include support for Tailwind CSS configuration options, such as configuring custom
class name completions under the classAttributes
option, and even
experimental ones like tailwindCSS.experimental.configFile
. We’ve also
added autocompletion of arbitrary values when using square bracket notations.
Zoom into and out of the RubyMine editor window entirely, increasing or decreasing the size of all UI elements at once. From the main menu, select View | Appearance and adjust the IDE’s scaling. You can also zoom into and out of the editor window using a touchpad or touchscreen.
The new layout option allows you to unify the width of the side tool windows or retain the ability to freely adjust their sizes as you customize your layout.
The top toolbar is no longer visible in Zen and Distraction Free modes.
You can split the tool window area for easy organization. To place a tool window in the lower section, simply drag its icon from the sidebar and drop it below the separator.
For a more streamlined experience on smaller screens, RubyMine’s new UI now features Compact Mode. This mode offers a more condensed look with smaller toolbars and window headers, reduced spacing and padding, and smaller icons and buttons.
You can now easily switch between projects on macOS using the project tabs displayed under the main toolbar.
We’ve given the Run widget, located at the top of the IDE window, a complete overhaul. The icons are now green, making for a more subdued and visually pleasing appearance, as opposed to the previous design, where the area around the icons was blocked out in color.
The new configuration setting defines Actions on Save for new projects. You can now specify which actions should be executed upon saving changes in your projects.
You can now use regular expressions to create your own search and replace inspections. These inspections can be especially useful for highlighting style-based or formatting-based problems.
The sorting algorithm powered by machine learning is now the default in the Classes tab, as well as in the Actions and Files tabs. The new, powerful sorting algorithm delivers more precise and relevant search outcomes.
RubyMine now shows the usage types of RBS symbols when you rename them.
We’ve improved navigation within RSpec.
Using Ctrl+Click on a subject reference navigates you to the closest in-scope value definition.
shared_examples_for
and shared_context
from the gutter
Starting from this release, it’s even easier to work with
shared_examples_for
and shared_contexts
. You can now run
them using gutter icons.
A new option for RSpec configurations allows running tests by line numbers or unique example IDs. For this purpose, we’ve added the new Example IDs/Line number field to the Run/Debug Configuration window.
The field accepts either a single line number or one or more RSpec example IDs.
The built-in RubyMine formatter now supports fluent interface descriptions for RSpec 3. While the tests are running, they will still have the default placeholder description. As soon as the tests are finished, these descriptions are replaced with the actual example names.
The Docker-compose node’s Dashboard tab now brings together logs from all of the Docker-compose containers and displays them in a single, centralized location with updates appearing in real time.
Connecting to Azure Container Registry is much simpler. To set it up, navigate to the Docker Registry section under Settings/Preferences | Build, Execution, Deployment | Docker. Then, in the Docker Registry input field, select the Docker V2 option.
:z
mount option to bind volumes on SELinux
You can add the :z
configuration flag to Docker bind mounts. This allows
you to connect volumes to Docker containers on SELinux workstations.