RubyMine 2025.2 の新機能

RubyMine 2025.2 では、以下を含むいくつかの魅力的な更新が行われています。

  • 定型的なコーディングタスクを支援する JetBrains AI コーディングエージェント「Junie」のサポート
  • よりスマートでコンテキストに応じた提案を提供する、AI を利用した ERB テンプレートのコード補完
  • Rails プロジェクトの起動処理の高速化とマイグレーションファイル編集時のパフォーマンス改善
  • マルチモジュールプロジェクト開発に的を絞った Bundler 管理の強化
  • コンテキスト内で素早く型をプレビューできる RBS のホバーヒント

それでは詳しく見ていきましょう!

AI Assistant

JetBrains AI Assistant に大規模な更新が適用され、よりスマートな補完を提供し、プロジェクトに対する理解度が向上しました。また、IDE 内での AI の動作をより詳細に制御できるようになりました。 以下では AI Assistant の新機能を簡単に説明しています。 記事全文はこちらでお読みください。

ERB のコード補完

クラウドベースのコード補完機能が拡張され、ERB に対応しました。 現在は ERB タグ内でも動作するようになっています。たとえば、<% <caret> -%><%= <caret> %> の中で利用できます。

この機能は RubyMine の AI をベースとした既存の Ruby のコード補完機能に基づいており、以下のような機能強化も行われています。

  • 文字列処理の強化。
  • 複数行コードのサポート。
  • 重複する終了タグの回避。

AI チャットにおけるプロジェクトの認識度が向上

AI Assistant チャットで Search Everywhere(どこでも検索)機能を Classes(クラス)と Symbols(シンボル)に活用し、より正確なコンテキストを反映できるようになりました。

一貫した AI の案内を実現するプロジェクトルール

コーディングスタイルやフレームワークの制約など、AI の回答を誘導するプロジェクト固有の指示を定義できるようになりました。 ルールはプロジェクト内に格納されるため、チーム全体での共有が可能です。このため、何度も手動で入力しなくても、整合性と一貫性を確保することができます。

詳細情報

ローカルモデルの接続手段の追加

AI Assistant では、自分のマシン上で稼働しているサードパーティの LLM に接続することで、ローカルモデルを使用できます。 Ollama と LM Studio に加えて、OpenAI API 互換の llama.cpp や LiteLLM などのモデルサーバーを使用できるようになりました。 これにより、データがマシン外部に送信されることなく AI 搭載機能を無料で活用することができます。

画像の添付

JetBrains AI Assistant で Anthropic および OpenAI モデルを使用する際、チャットに画像を添付できるようになりました。

コード提案の拡大と改善

RubyMine 2025.2 の AI Assistant は、より広範なコンテキストでより多くのコードを提案し、開発ワークフローを合理化します。

また、複数行の出力の整形が改善されたため、より快適にコーディングできるようになりました。

Junie

JetBrains AI コーディングエージェントの Junie は RubyMine 2025.2 ではプラグインとして提供され、以下の大規模な更新が適用されています。

  • 速度が 30% 向上しました。 Junie の動作速度が品質を犠牲にすることなく最適化されました。
  • MCP のサポートが提供されるようになりました。Model Context Protocol により、Junie がデータベース、ファイルシステム、API などの外部ソースに接続できるようになっています。 この改善により、実運用環境における Junie の有用性が大幅に向上しました。 LLM とエージェントは多くの場合、実際のコンテキストとツールを利用できないことが原因で機能に制限があります。 MCP は Junie を外部サーバーに接続することで、この制限を解消しています。
  • Junie がリモート開発に統合されました。リモートでチームと連携しながら、Junie にタスクを委任することができます。

Ruby

コードインスペクションのカスタマイズオプションの追加

RubyMine 2025.2 では、特定のコードインスペクションに使用される指定の型シグネチャープロバイダーを無効化することができます。

これは、あるインスペクションがいくつかのサービスのデータを使用しており、それらのサービス間の競合を回避する場合に特に役立ちます。

たとえば、Mismatched Argument Type(一致しない引数の型)インスペクションでは RBS と Sorbet が使用されますが、これらが競合する場合があります。 何らかの問題が発生しないよう、いずれかを無効化することができます。

競合が発生しうるすべてのインスペクションを見つけ、一部のプロバイダーを無効化するには、Settings(設定)| Editor(エディター)| Inspections(インスペクション)| Ruby | Probable bugs(潜在的なバグ)に移動してください。

Rails

マイグレーションファイル編集時のパフォーマンス改善

多数のマイグレーションファイルを含む Rails プロジェクトでの作業を非常に円滑に行えるようになりました。 RubyMine 2025.2 では遅延やフリーズが発生することなくマイグレーションの編集、追加、削除を行えるため、ワークフローが中断することはありません。

プロジェクトの起動を高速化

プロジェクト起動時の特定バックグラウンドタスクの処理を最適化しました。

ある処理を遅延させ、他のある処理の実行頻度を減らすことで、プロジェクトをより迅速かつスムーズに起動できるようにしました。そのため、以前よりも素早く作業に取り掛かることができます。

たとえば、Rake タスクと Rails ジェネレーターのリフレッシュや RBS Collection の更新などの処理は、絶対に必要な場合にのみ実行されるようになっています。

RBS

RBS のホバーヒント

RubyMine 2025.2 が RBS の宣言と参照でホバーヒントをサポートするようになりました。

Ctrl を押しながら .rbs ファイル内の宣言にカーソルを合わせると、ターゲットのプレビューが表示されます。

このプレビューは、参照のターゲットに対する迅速かつ文脈に沿ったインサイトを得るのに特に役立ちます。 たとえば、型エイリアスの定義を実際に開くことなく確認するのに使用できます。

RBS Collection 統合をデフォルトで有効化

RBS Collection の型サポート改善がデフォルトで有効化されました。

以下のような機能で精度の改善を体験できます。

  • Find Usages(使用箇所の検索)
  • Rename(名前の変更)リファクタリング
  • 型シグネチャーを含むソースコードを表示する際のインレイヒント

注意: RBC Collection の統合には、Ruby 3.4 にバンドルされている RBS 3.2 が必要です。 それよりも古い Ruby のバージョンを使用している場合は、RubyMine に適切な gem をインストールするように促されます。

Bundler

RubyMine 2025.2 では、特にマルチモジュールプロジェクトに有益な Bundler 関連の改善が行われています。

通知を減らして集中力アップ

RubyMine のすべてのモジュールにまたがる gem の不足通知が 1 つのアラートにまとめられ、視認性が向上し、作業の中断が発生しにくくなりました。

カスタマイズ可能な Bundler のセットアップ

Bundler コマンドを呼び出すたびにダイアログに対応せずに済むよう、新しい Bundler タブを導入しました。 このタブは Settings(設定)| Tools(ツール)にあり、以下の機能を提供します。

  • 必要な Bundler のバージョンを自動インストールする
  • 未来のすべての Bundler コマンドで使用されるデフォルトの引数を設定する

新しいインストール処理の流れ

競合を防止し、複数のモジュール間で共有される gem の再インストールを避けるため、RubyMine が gem をモジュールごとに 1 つずつインストールするようになりました。

コードインサイト

例外定数の補完の改善

RubyMine による例外定数のコード補完処理を最適化しました。 接頭辞が提供されていない場合(キー入力なしで自動補完を呼び出す場合など)に行われる提案が、関連する定数に的を絞ったセットに制限されるようになりました。

この調整により、特に大規模なプロジェクトでのパフォーマンスが大幅に向上します。

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

非モーダルの RubyMine デバッガーのインストール

RubyMine 2025.2 では、デバッガー gem のインストールプロセスが非モーダルになり、進捗が進捗バーの代わりにターミナルウィンドウに表示されるようになりました。

Qodana での Ruby のサポート

RubyMine は Qodana に新たに導入された Ruby リンターに使用されています。

Ruby リンターは信頼性の高い RubyMine のコードインスペクションを自動ワークフローに取り入れており、プロジェクト全体にわたる問題の検出や高いコード品質の維持に役立っています。

Ruby 対応の Qodana は現在、早期アクセスの段階にあります。 詳細については、Qodana のドキュメントをご覧ください。