RubyMine 2023.1 の新機能

RubyMine 2023.1 には、Rails 7 と Ruby 3.2 のサポート、新しい UI の更新、コード補完の高速化、メモリ消費量の削減、WSL での gem 同期の改善、RSpec の共有コンテキストとサンプルの移動操作と作業の容易化、および Docker 統合の強化が含まれます。

Ruby と Rails

Rails 7: turbo-rails 補完のサポート

RubyMine で基本的な Rails 7 の turbo-rails メソッドがサポートされました。Ruby コードをこれまで以上に素早く記述できるようになりました。

ActiveRecord メソッドでのフィールドパラメーターの補完

ActiveRecord メソッドでのフィールドパラメーターの補完

ActiveRecord クラスの一部の CRUD メソッドにコード補完サポートのオプションを追加しました。 RubyMine が ActiveRecord メソッドの引数に補完オプションを提案するようになりました。

create_table 呼び出しからモデルに移動するための新しいガターアイコン

モデルからスキーマ内の対応する create_table 呼び出しに移動するための新しいガターアイコンはすでに追加していましたが、 schema.rbcreate_table 呼び出しから、このテーブルを使用する関連モデルに移動することも可能になりました。 schema.rb ファイルを開き、エディターの左側にあるガターアイコンから関連するモデルに移動することができます。

Ruby 3.2 の Data.define のサポート

Ruby 3.2 の Data.define のサポート

RubyMine は、Ruby 3.2 で導入された Data クラスの define メソッドの操作をサポートしています。 IDE が Data.define で生成された reader メソッドを認識するようになりました。

角括弧による Data インスタンスの作成

角括弧による Data インスタンスの作成

Data.define で角括弧を使用して Data クラスのインスタンスを作成できるようになりました。 RubyMine は Type Info(型情報)アクションが呼び出されると、このようなインスタンスの型を認識して表示します。

指数演算子とその他の演算子の周辺にあるスペースの個別設定

指数演算子とその他の演算子の周辺にあるスペースの個別設定

新しい Pow operators(Pow 演算子)のオプションでは、指数演算子とその他の演算子のスペースを個別に設定できます。 Preferences(環境設定)| Editor(エディター)| Code Style(コードスタイル)| RubySpaces(スペース)タブから構成できます。

Structure Tool Window(構造ツールウィンドウ)の Minitest “describe” と “it” ブロック

Structure Tool Window(構造ツールウィンドウ)の Minitest “describe” と “it” ブロック

Structuretool windowでテスト構造が対応するメソッドの下にネストされた状態で表示されるようになり、大規模なテストの移動操作がより楽になりました。

新機能と改善点

Astro 言語のサポート

Astro 言語のサポート

Astro のサポートが導入されました!

広範な基本機能を提供する新しいプラグイン経由で構文ハイライト、自動インポートのコード補完、リファクタリング、移動操作、インテンション、コードの折りたたみ、Emmet のサポート、適切な書式設定などの機能にアクセスが可能になります。

Tailwind CSS のサポート

Tailwind CSS のサポート

非常に要望の多かった Tailwind CSS 関連の改善には、classAttributes オプションのカスタムクラス名補完の構成や tailwindCSS.experimental.configFile などの実験的なオプションなど、Tailwind CSS 構成オプションのサポートが含まれています。 また、角括弧表記法を使用する場合に任意の値を自動補完できるようにもしました。

新しい UI

エディターウィンドウの拡大・縮小

RubyMine のエディター全体を拡大・縮小し、UI 要素のサイズをまとめて増減することができます。 メインメニューから View(表示)| Appearance(外観)を選択し、IDE の表示倍率を調整します。 また、タッチパッドやタッチスクリーンでエディターウィンドウを拡大・縮小することも可能です。

各ツールウィンドウのサイズプションを記憶する新しい設定

新しいレイアウトオプションでは、サイドツールウィンドウの幅を統一するか、レイアウトをカスタマイズする際にサイズを自由に調整する機能を保持することができます。

Zen モードと Disctaction Free(集中)モードのツールバーの非表示

Zen モードと Disctaction Free(集中)モードのツールバーの非表示

Zen モードと Distraction Free(集中)モードで上部のツールバーが表示されなくなりました。

ツールウィンドウの左右分割

ツールウィンドウエリアを分割して整理しやすくできます。 ツールウィンドウを下の方に配置するには、サイドバーのアイコンをドラッグしてセパレーターの下にドロップします。

コンパクトモード

コンパクトモード

小さな画面での作業効率を上げるため、RubyMine の新しい UI に Compact Mode(コンパクトモード)が導入されました。 このモードでは外観が簡素化され、ツールバーとウィンドウのヘッダーが小さくなり、スペースとパディングが縮小され、アイコンとボタンのサイズが小さくなります。

macOS のプロジェクトタブ

macOS のプロジェクトタブ

macOS では、メインツールバーの下に表示されるプロジェクトタブを使ってプロジェクトを簡単に切り替えられるようになりました。

Run(実行)ウィジェットの改良

Run(実行)ウィジェットの改良

IDE ウィンドウの上部にある Run(実行)ウィジェットを全面的に見直しました。 従来のデザインではアイコン周辺の領域が色で強調されていましたが、アイコンが緑色に変更され、より落ち着いた見やすい外観になりました。

新規プロジェクトの Actions on Save(保存時にアクション実行)をセットアップする構成オプション

新しい構成設定では、新規プロジェクトの Actions on Save(保存時のアクション実行)を定義することができます。 プロジェクトの変更を保存する際に実行するアクションを指定できるようになりました。

検索の改善

カスタム正規表現ベースの検索置換インスペクション

カスタム正規表現ベースの検索置換インスペクション

正規表現を使用して独自の検索置換インスペクションを作成できるようになりました。 このようなインスペクションは、スタイルまたはフォーマットの問題をハイライトする場合に特に有用です。

Search Everywhere(どこでも検索)でクラスの ML 駆動検索を実行

Search Everywhere(どこでも検索)でクラスの ML 駆動検索を実行

機械学習を採用した並べ替えアルゴリズムが Classes(クラス)タブと Actions and Files(アクションとファイル)タブでデフォルトになりました。 この新しい強力な並べ替えアルゴリズムによって、より精度と関連性の高い検索結果を得られます。

RBS

RBS シンボル名を変更する際の使用タイプの表示

RBS シンボル名を変更する際の使用タイプの表示

RubyMine で RBS シンボルの名前を変更すると、その使用タイプが表示されるようになりました。

RSpec

サブジェクトからサブジェクト定義への移動操作の改善

サブジェクトからサブジェクト定義への移動操作の改善

RSpec 内の移動操作を改善しました。

サブジェクト参照で Ctrl+Click を使用すると、スコープ内の最も近い値に移動します。

ガターから shared_examples_forshared_context を実行

このリリースから、shared_examples_forshared_context の操作がさらに簡単になりました。 これらをガターアイコンを使って実行できるようになっています。

一意の ID による構成の実行をサポート

一意の ID による構成の実行をサポート

RSpec 構成の新しいオプションでは、行番号か一意のサンプル ID でテストを実行できます。 この目的を達成するため、Run/Debug Configuration(実行/デバッグ構成)ウィンドウに新しい Example IDs/Line number(サンプル ID/行番号)フィールドを追加しました。

このフィールドには、1 つの行番号か 1 つ以上の RSpec サンプル ID を指定できます。

RSpec 3 の流れるようなインターフェース記述の整形

RSpec 3 の流れるようなインターフェース記述の整形

ビルトインの RubyMine フォーマッターが RSpec 3 向けの流れるようなインターフェース記述をサポートするようになりました。 テスト実行中にはデフォルトのプレースホルダー記述が使用されますが、 この記述はテストが終了時に実際のサンプル名に置換されます。

Docker

すべての Docker-compose コンテナーログを集約

すべての Docker-compose コンテナーログを集約

Docker-compose ノードの Dashboard(ダッシュボード)タブにすべての Docker-compose コンテナーのログがまとめられ、1 箇所に集約されて表示されるようになりました。リアルタイムで更新されます。

Azure Container Registry のサポート

Azure Container Registry のサポート

Azure Container Registry への接続がはるかに簡単になっています。 セットアップするには、Settings/Preferences(設定/環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| DockerDocker Registry (Docker レジストリ)セクションに移動し、 Docker Registry の入力フィールドで Docker V2 オプションを選択します。

:z マウントオプションを適用して SELinux にボリュームをバインドする新しい設定

:z マウントオプションを適用して SELinux にボリュームをバインドする新しい設定

Docker バインドマウントに :z 構成フラグを追加できます。 これにより、ボリュームを SELinux ワークステーションの Docker コンテナーに接続することが可能になります。