RubyMine 2024.3 の新機能

クラウドベースのコード補完の強化、AI プロンプトのインライン入力、Kamal 2 のサポート、RBS Collection との組み込み統合、Ruby 3.4 に関する更新、Grazie によるスペルおよび文法チェック

AI Assistant

クラウドベースのコード補完の強化

RubyMine 2024.3 では、JetBrains AI Assistant プラグインを通じて速度とコンテキストの認識精度が向上したクラウドベースのコード補完が導入されています。品質と速度が改善され、複数行の補完のサポートが追加されています。

Mellum 大規模言語モデル(LLM)の採用によって補完の遅延が従来バージョンの約 10 分の 1 に減少したため、ほぼ瞬時に候補が提示されます。 補完候補の採用率は従来バージョンの約 2 倍になり、キャンセル率は半分から 3 分の 1 程度まで低下しました。

AI Assistant でのクラウドベースのコード補完は、AI Pro サブスクリプションまたは有効な無料体験版でのみの提供となりますのでご注意ください。

ユニットテストの Rails コンテキストの改善

RubyMine が AI Assistant によるユニットテストの生成を改善するため、Rails アプリケーションに関するより多くのコンテキストを提供するようになりました。

AI プロンプトのインライン入力

RubyMine 2024.3 では AI プロンプトのインライン入力が導入され、エディター内で直接シームレスに AI Assistant と対話できるようになりました。 自然言語でリクエストを入力すると、AI Assistant がそれを即座に解釈し、コードの変更に変換します。この変更はガター内で紫色で示されるため、簡単に追跡できます。 AI プロンプトのインライン入力はコンテキストを認識し、関連するファイルやシンボルを自動的に含めるため、より正確なコード生成が可能です。
この機能は現在、*.rb ファイルで使用可能です。

Rails 8 のサポート

Kamal 2 のサポート

Rails 8 では Kamal 2 でのアプリケーションのデプロイがサポートされているため、RubyMine 2024.3 では Kamal 2 の構成に対応したコード補完を実装しました。

型サポートのための schema.rb の nil 許容アノテーション

RubyMine がマイグレーション属性の not-null 型修飾子を認識し、誤った nil の割り当てをハイライトして警告するようになりました。

Solid Queue と Solid Cache に対応したコードインサイト

RubyMine 2024.3 では、queue_schema.rbcache_schema.rb ファイルに特定のアイコンと構文ハイライトが使用されるようになりました。

RBS

RBS Collection との組み込み統合

RubyMine に RBS Collection(コミュニティが管理するシグネチャーのない gem の RBS ファイルコレクション)との統合が組み込まれました。

プロジェクトで RBS を使用していない場合でも、余計な手間をかけることなく RBS Collection に含まれる型シグネチャーを活用できます。 RubyMine はプロジェクト依存関係の型シグネチャーを自動的にダウンロードして管理します。

Ruby

it をブロック内の番号指定パラメーターのエイリアスとして使用できる機能

RubyMine がパラメーターのないブロック内で it_1 のエイリアスとして認識し、そのように使用されている箇所で型サポートと変換インテンションを提供するようになりました。
通常の番号指定パラメーターのあるブロック内での it の使用を防ぐ新しいエラーアノテーションも追加されています。

Ruby 3.4 の「チルド」文字列のサポート

RubyMine が文字列リテラルに関する Ruby 3.4 の新しい過渡的な状態である「チルド」文字列を認識するようになりました。 frozen_string_literal pragma のないプロジェクトでは、文字列は「チルド」状態となり、エラーになることなく警告付きで変更を行えます。

あいまいな匿名引数のエラーアノテーション

RubyMine がネストしたあいまいなコンテキストで匿名ブロック、rest、およびキーワード rest 引数を使用しようとした際にエラーを表示するようになりました。

VCS

Find in Files(ファイル内検索)の更新

Find in Files(ファイル内検索)機能が強化され、Project Files Excluding Git-Ignored(gitignore ファイルを除くプロジェクトファイル)という新しい検索範囲が追加されました。 このオプションを使用すると .gitignore ファイルで無視対象に指定されているすべてのファイルが検索結果から除外され、プロジェクト全体を検索する際に関連性のあるコードに専念しやすくなります。

バックグラウンドのコミット前チェックを無効化するオプション

Settings(設定)| Version Control(バージョン管理)| Commit(コミット)にある新しい Run advanced checks after a commit is done(コミット完了後に高度なチェックを実行する)オプションを使用することで、コミット処理中のバックグラウンドチェックを管理できるようになりました。 この設定により、コミット後にテストとインスペクションを実行するかどうかを決定できます。 コミットが行われる前にこれらのチェックを完了する場合は、このオプションを無効にしてください。

ユーザーエクスペリエンス

スペルおよび文法チェックのバンドル化

Grazie プラグインが、RubyMine で標準搭載されるようになりました。 単純なスペル間違いや入力ミスのチェック以上の高度なチェックを提供します。 文法ルールを認識し、不適切なスタイルについて警告することができます。

Grazie チェックは、文字列、heredoc、コメント、ブロックコメント、および RDoc ファイルで使用できます。

Grazie チェックは、Settings(設定)| Editor(エディター)| Natural Languages(自然言語)| Grammar and Style(文法とスタイル)| Scope(スコープ)で管理できます。

コンソールサポートの改善

デバッグ中にコンソールまたは Evaluate Expression(式の評価)フィールドを使用する際に最初の補完候補をあらかじめ選択状態にするかどうかを制御できる新しいオプションを追加しました。

デバッグ中に Evaluate Expression(式の評価)フィールドが self 型を正確に反映し、ローカル変数と推論された型を持つパラメーターを認識し、現在のスタックフレームセッション内に導入された新しい変数の補完をサポートするようになりました。

コンソールセッションでは以前に実行されたコマンドが記憶され、ローカル変数の型推論と補完が提供されます。

デフォルトのタブ数上限の引き上げ

エディター内におけるデフォルトのタブの上限数を 30 に引き上げました。 これにより、開いたままにできるタブの数を増やせるようになりました(ただし、最終使用時間が最も古いタブは IDE によって閉じられます)。 この設定は、Settings(設定)| Editor(エディター)| General(一般)| Editor Tabs(エディタータブ)で制御できます。

Rename(名前の変更)アクションの場所の最適化

エディター内と Project(プロジェクト)ツールウィンドウで要素に対して Rename(名前の変更)アクションを呼び出した際のコンテキストメニューで、アクションを表示する場所を最適化しました。 アクションが最上位階層に表示されるようになったため、マウス操作をよく使用するユーザーがファイル、変数、およびその他の要素の名前を素早く変更しやすくなりました。

新しいターミナルの UI の更新

新しいターミナルの UI をパディングを減らした比較的コンパクトなデザインに更新することで、画面領域を最大限に活用できるようにしました。 パディングを減らしてスペースを節約することで、可読性を犠牲にすることなくコマンド操作時の視認性を向上させています。

選択したテキストのすべての出現箇所をハイライト

RubyMine がデフォルトでファイル内で選択したテキストのすべての出現箇所を自動的にハイライトするようになりました。 これにより、コード全体で選択したテキストの出現箇所を追跡しやすくなります。