RubyMine 2023.2 の新機能

RubyMine 2023.2 には新しい AI Assistant 機能、Turbo-Rails と Import Maps のサポート改善、プラグイン開発者を対象とした LSP API のサポート、RBS と Vue に関する機能の強化が含まれています。

Ruby と Rails

Turbo-Rails のサポート

このリリースでは、Ruby on Rails プロジェクトの Turbo コード補完が更新されています。 コントローラーとビューの Turbo Streams とモデルからの Turbo Streams のブロードキャストに対応したコード補完を使用できるようになりました。 ビューでは Turbo Frames に対応した補完も使用できます。

Import Maps のサポート

Run Anything(なんでも実行)では importmap コマンドを、pin および pin_all_from メソッドでは自動補完モジュール指定子とファイルパスを使用できるようになり、インポートされたモジュールとそれらの使用箇所間を移動できるようになりました。

インスペクションの説明に構文ハイライトを実装

インスペクションの説明に構文ハイライトを実装

コードサンプルに構文ハイライトが実装され、各インスペクションの目的をより簡単に把握できるようになりました。

Rails ストアアクセサーのコードインサイト

Rails ストアアクセサーのコードインサイト

ActiveRecord::Store アクセサーのコードインサイトを追加しました。 アクセサー、dirty トラッキングメソッド、最終保存時に行われた変更にアクセスするメソッド、およびアクセサーの検証に対応したコード補完とナビゲーションを提供します。

デバッガーのカスタム型レンダラー

デバッガーのカスタム型レンダラー

Debug(デバッグ)ツールウィンドウで各種オブジェクトの表示形式をカスタマイズできます。 この機能はレンダラーを使用することで実現しています。レンダラーは特定の型と関連付けられた一意の構成であり、そのような型のインスタンスを Debug(デバッグ)ツールウィンドウで表現する方法を決めるものです。 カスタムの式を利用することで、このようなレンダラーによって非常に柔軟性の高いデータ表示を実現できます。

AI Assistant 限定アクセス

AI チャット

質問したり、作業について相談したり、AI Assistant と連携したりできます。 IDE がプログラミング言語に固有の詳しい内容やその言語で使用されている技術などのプロジェクトに関連する情報を提供します。 結果に満足したら、Insert Snippet at Caret(キャレット位置にスニペットを挿入)機能を使用するか、または単に結果をコピーして貼り付けることで AI が生成したコードをエディターに挿入できます。

コミットメッセージの生成

コミットメッセージの生成

Commit Changes(変更のコミット)ダイアログに Generate Commit Message with AI Assistant(AI アシスタントでコミットメッセージを生成)ボタンが追加されました。 このボタンをクリックすると LLM に変更の差分が送信され、変更内容をまとめた詳細なコミットメッセージが生成されます。

AI Assistant によるドキュメント生成

LLM を使用して宣言のドキュメントを生成するには、AI Actions(AI アクション)サブメニューにアクセスして Write documentation(ドキュメントの生成)アクションを選択します。 このオプションを選択すると、IDE がコメントの静的な部分を生成し、AI があなたに代わって実際のドキュメント本体を生成します。

新しい UI

Windows および Linux 向けの新しいハンバーガーメニュー

Windows および Linux 向けの新しいハンバーガーメニュー

Windows および Linux のメインツールバーにあるハンバーガーメニューの動作を改良しました。 メニュー要素はツールバー上に横方向に表示され、メニューは個別のツールバーに変換できます。

macOS のウィンドウコントロールの更新

ウィンドウコントロールがフローティングバーではなく、メインツールバーの右に表示されるようになりました。

ワンクリックでプロジェクトディレクトリ間を移動

Project(プロジェクト)ビューで Open Directories with Single Click(ワンクリックでディレクトリを開く)オプションを使用できるようになり、プロジェクトフォルダーの展開と折りたたみの速度や応答性が強化されています。 このオプションにアクセスするには、三点リーダーアイコンをクリックしてドロップダウンメニューからオプションを選択します。

新しい UI にライトヘッダー付きのライトテーマを導入

新しい UI にライトヘッダー付きのライトテーマを導入

Light with Light Header(ライトヘッダー付きのライトテーマ)という新しいオプションは、視覚的に統一されたまとまりのあるデザインを提供します。 このオプションはウィンドウヘッダー、ツールチップ、通知バルーンのすべてで対応する明るい色を使用することで、全体的により洗練された美しさを実現します。

新しい UI の色付きのプロジェクトヘッダー

新しい UI に色付きのプロジェクトヘッダーを導入

色付きのプロジェクトヘッダーは、開いている複数のプロジェクト間を簡単に移動できるように設計されています。 各プロジェクトに別個の色とアイコンを割り当てることができるようになり、ワークスペース内のプロジェクトを視覚的に区別しやすくなっています。

RBS

タイポの名前変更をサポート

タイポの名前変更をサポート

シンボル名のタイポに提案された修正を適用できる新しいクイックフィックスアクションを導入しました。

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

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

整形機能をクラスとモジュールエイリアスで使用できるようになりました。

命名規則インスペクション

命名規則インスペクション

インターフェース、型エイリアス、型変数の命名規則インスペクションを使用できるようになりました。

use 構文のコードインサイト

use 構文のコードインサイト

コードインサイト機能が RBS の use 構文に対応しました。

use ディレクティブのアノテーションとインスペクション

use ディレクティブのアノテーションとインスペクション

誤って使用されているディレクティブに対応したアノテーションとインスペクションを追加しました。

use ディレクティブの書式設定

use ディレクティブの書式設定

RubyMine が確実に use ディレクティブの書式に一貫性を持たせ、所定の標準に準拠させます。

RBS クラスとモジュールエイリアスのコードインサイト

RBS クラスとモジュールエイリアスのコードインサイト

コードインサイト、ナビゲーション、型参照、名前変更リファクタリングがクラスとモジュールエイリアスに対応しました。

パフォーマンス

Docker と docker-compose SDK の gem 同期を改善

Docker と docker-compose SDK の gem 同期を改善

Docker と docker-compose SDK の gem 同期を最適化しました。 Docker Engine API のみを使用してイメージと実行中のコンテナーの両方から gem をコピーできるようになりました。

レクサーの更新

RubyMine レクサーの大がかりな見直しを行い、字句解析と構文解析の速度を劇的に向上させました。

機能と改善点

プラグイン開発者向けの LSP API サポート

LSP API のサポートには、エラーと警告のハイライト、クイックフィックス、コード補完、および宣言への移動などの機能が含まれます。 近い将来に追加の機能も導入する予定です。

コードの折りたたみ設定を更新

デフォルトのコードの折りたたみオプションを更新しました。 現在、以下のオプションを提供しています。

  • コードフェンス
  • Front matter
  • リンク先
  • 目次
  • テーブル
Vue Language Server のサポート

Vue Language Server のサポート

より正確なエラー検出を行うため、RubyMine に初期の Vue Language Server(Volar)サポートが導入されました。 デフォルトでは TypeScript v5.0 以降に Volar が使用され、それよりも前のバージョンでは JetBrains 独自の実装が使用されます。

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

Run(実行)ウィジェットでの実行構成のピン留め

Run(実行)ウィジェットでの実行構成のピン留め

複数の実行構成をより管理しやすくするため、 Run(実行)ウィジェットでお好みの構成をピン留めできるようにしました。

Project(プロジェクト)ビューでの変更日時によるファイルの並べ替え

Project(プロジェクト)ビューでの変更日時によるファイルの並べ替え

Project(プロジェクト)ビューでファイルを変更日時で並べ替えられるようになりました。 RubyMine がファイルの変更時間に基づいてファイルを自動的に並べ替えるようになります。

メインツールバーのカスタマイズを改善

メインツールバーのカスタマイズを改善

ドロップダウンメニューを使用して簡単にアクションをツールバーに追加できるようになりました。

React フック用の新しいライブテンプレート

React フック用の新しいライブテンプレート

ライブテンプレートの新しいコレクションを参照し、React フックをより効率よく開発しましょう。