RubyMine 2026.1 Help

コードインサイト

RubyMine 2026.1 は、Ruby 用の新しい シンボルベースの言語モデリングエンジンを導入します。

この実験的なエンジンは、RubyMine が Ruby のコード、特に クラスモジュール定数を理解する方法を変更します。 メソッドのサポートは今後のリリースで予定されています。

新型エンジンには、主に 3 つの改善点があります。

新しいコードインサイト

コード分析機能の UX 改善

いくつかのコード分析機能が改善され、名前空間をまたいで Ruby シンボルを扱う作業がより簡単かつ予測可能になりました。

クラス、モジュール、定数の補完機能

コード補完は、特に 認定定数に関して大幅に改善されました。

新しいコード補完

機能

改善

名前空間を横断するあいまい検索

補完機能が名前空間をまたいだあいまい検索に対応し、修飾名の一部しか入力していなくてもシンボルを検索できるようになりました。

この動作は どこでも検索と似ているため、完全な名前空間を入力しなくてもシンボルを見つけることができます。

名前空間を考慮した補完

名前空間の接頭辞がすでに入力されている場合、補完候補にはその名前空間の要素のみが表示されます。

例: RubyMine は Foo 内で宣言された要素のみを提案します。 あいまい一致は、その名前空間内でも引き続き機能します。

修飾名を自動的に短縮する

補完結果を挿入する際、RubyMine は名前を短縮しても解決が損なわれないかどうかを判断します。

修飾名を短縮する

Foo::Bar が選択された場合、より短い名前が正しく解決されると、RubyMine は完全修飾名の代わりに Bar を挿入します。

完成プレゼンテーション

補完ポップアップに、候補となる要素に関する情報がより分かりやすく表示されるようになりました。

  • 各項目の右側には完全修飾名が表示されます

  • 完了項目には、状況に応じたアイコンが含まれます。

サポートされているアイコンの例は次のとおりです。

  • 例外

  • Rails モデル

  • Rails コントローラー

  • Rails メーラー

使用箇所を検索

使用箇所を検索 の結果表示画面が更新され、結果がより見やすくなりました。

新しい使用箇所の検索の結果表示

機能

改善

結果をより明確にグループ化する

使用箇所は、 使用箇所潜在的な用途テキストの出現箇所という別々の章に整理されています。

潜在的な用途と確定した用途を区別することで、大規模プロジェクトにおけるノイズを低減できます。

テキストの出現箇所

使用箇所を検索 は、コメントや文字列内の出現箇所を検出するようになりました。

これらは別の 「テキスト出現箇所 」の章に表示されます。 シンボルリテラルもそこにまとめられています。

Rename リファクタリング

機能

改善

インライン名前変更

モーダルダイアログを開かずに、エディター内で直接シンボル名を変更できるようになりました。

使用例を除く

名前変更リファクタリングを適用する前に、結果リストから特定の使用箇所を除外することで、名前変更の対象となる参照を制御できます。

簡単な説明とマウスオーバー時のヒント

機能

改善

クイックドキュメント

シンボルに複数の宣言がある場合、クイックドキュメントでは、単一のビューに統合するのではなく、別々のページとして表示するようになりました。

ホバーヒント

ホバーヒントに以下の情報が表示されるようになりました:

  • 構文ハイライト

  • より分かりやすいフォーマット

  • 複数の宣言が存在する場合の正しいナビゲーションターゲット

構造ビュー

構造 ビューには、いくつかの表示改善点があります。

  • コンテナーノードは、子ノードを持たない場合、展開矢印を表示しなくなりました。

  • ネストされた宣言は、完全な名前で表示されます(例: Bar1::Baz1)。

  • class << self として定義されたシングルトンクラスは、 << self として表示されます。

  • 絶対参照には、 :: という接頭辞が表示されるようになりました。

  • 同じ名前のエントリは非表示にならなくなりました。

  • シングルトンクラスでは、匿名クラスのアイコンが使用されるようになりました。

  • 継承されたメンバーは、シングルトンクラスも含め、正しく自然な順序で表示され、位置のフォーマットも改善されています。

新構造のビュー

ナビゲーション

機能

改善

宣言に移動

新しい実装は、従来の参照メカニズムに取って代わり、 使用箇所を検索名前変更クイックドキュメント などの他のコード分析機能の基盤となります。 また、RubyMine がモデル全体ではなく関連するシンボルのみを読み込むようになったため、修飾名解決も高速化されています。

型宣言に移動

ナビゲーションは、以前は動作しなかったケースでも機能するようになりました。これにはクラスおよびモジュールの定数、RBS 型、ユニオンのような複雑な型などが含まれます。

クラスまたはモジュールに対して呼び出された場合、ナビゲーションは、シングルトンクラスが存在する場合はそれを優先し、存在しない場合は通常のクラスまたはモジュール定義に移動します。

動的な Ruby 構造の処理の改善

新しいエンジンは、Ruby ソースファイル内で明示的に宣言されていないシンボルについても、コード内の情報を把握しやすくする機能を向上させています。

これには、フレームワークの規約、型定義、動的な Ruby 構造を通じて導入されたシンボルが含まれます。 これらのシンボルはコードインサイトで認識されるようになり、IDE 全体でより一貫性のある動作をするようになりました。

プロジェクト構造からの Rails ネームスペース

Rails プロジェクト構造によって暗示されるモジュールは、名前空間として認識されるようになりました。

# app/models/admin/user.rb class Admin::User < ApplicationRecord end

この例では、 Admin 名前空間が検出され、通常のモジュールとして扱われます。

この場合、モジュールは明示的な Ruby 宣言ではなくディレクトリ構造から生成されるため、名前変更リファクタリングは利用できません。

RBS 型署名からのシンボル

RBS 型シグネチャーファイルで定義されたシンボルが、コードインサイトに組み込まれるようになりました。

# main.rb Book.new.read # book.rbs class Book include Readable end module Readable def read: -> untyped end

BookReadable などのシンボルは RBS から認識され、モデルに含まれます。

クラスとモジュールのエイリアス

動的に作成されたクラスやモジュールを参照するエイリアスが、IDE によって追跡されるようになりました。

ClassAlias = Class.new do; end ModuleAlias = Module.new do; end class Example < ClassAlias include ModuleAlias end

このようなエイリアスはクラスおよびモジュールシンボルとして認識され、スーパークラスの宣言や 含める 呼び出しなど、関連するコンテキストで使用されます。

パフォーマンスの向上

新しいモデリングエンジンにより、特に大規模プロジェクトや複雑なコードベースにおいて、コードの分析がより迅速かつ応答性が向上します。

コード補完、ナビゲーション、 使用箇所を検索 において、結果の計算効率が向上していることに気づくかもしれません。

社内ベンチマークにおいて、以下の改善点が確認されました。

  • 適格な第一要素定数完了: 40% 高速化について

  • 合計定常完了時間: 50% 高速化について

  • タイプ一致補完 (例外): 95% 高速化について

  • 使用箇所を検索: 大規模プロジェクトでは 60% 高速化 、一般的なケースでは 15% 高速化について

2026 年 6 月 2 日