RubyMine 2022.2 の新機能

Rails サポートの改善、RBS、デバッガー、YARD、およびその他の新機能。

Rails

Rails サーバーログのクリック可能リンク

Rails 開発者が Controller#actionView、および Route 参照のリンクをクリックし、対応するファイルに移動できるようになりました。

Rails URL の検索、補完、および移動

RubyMine で Rails URL の検索がサポートされました。 Search Everywhere(どこでも検索)ダイアログに /url を入力するだけで、対象の URL を含むファイルを検索し、そこに移動できます。 また、Ctrl+Shift+\ キーボードショートカットも使用可能です。

HTTP リクエストの自動補完機能を導入しました。 これにより、Rails URL を自動補完して関連する Route に移動できるようになりました。 補完候補には、使用可能な HTTP リクエストの種類も表示されます。

Endpoints(エンドポイント)ツールウィンドウ

新たに追加された Endpoints(エンドポイント)ツールウィンドウには、プロジェクトに使用されているクライアント API とサーバー API の集約ビューが表示されます。 このツールウィンドウは、マイクロサービスやバックエンド・フロントエンド通信の開発で役立ちます。 詳細については、こちらのヘルプトピックをご覧ください。

ERB ファイル内の HTML タグ補完機能の改善

.html.erb ファイルを編集する際に、HTML の開始タグを手動で入力する必要がなくなりました。 HTML タグの名前を入力し始めると、RubyMine が適切な自動補完候補を表示します。 Tab を押してタグを自動補完した後、引き続きタグ内を編集できます。

RBS

インライン可視性修飾子

このリリースでは、RBS のサポートを引き続き改善しています。 このバージョンより、RubyMine のコードインサイトでは、インラインの public および private 可視性修飾子を確認し、属性およびメソッド宣言の可視性が判定されます。 また、構造ビューにはメソッド単位での可視性修飾子が追加されています。

不明なクラスの型を取得

従来、オブジェクトの型を取得できるのはクラスに RBS シグネチャーが存在する場合だけでした。 対応する RBS シグネチャーが存在しない場合、Object のメソッドの型のみを取得可能でした。

不明なクラスに対する型推論を改善することで、RubyMine が Object だけでなく、Ruby の既知の祖先すべてのメソッドを検索できるようになりました。

デバッガー

Ruby 3 以降での堅牢性を高めるため、RubyMine のデバッガーを改善しました。 コードのステップ実行式の評価など、GUI に提供されたすべての機能を使用しながら、Ruby 3 以降で作成されたコードを大きな問題なくデバッグできるようになりました。 また、以前のデバッガー実装にあった問題も修正されているため、バージョン 3.0 より前の Ruby を実行する場合でも、RubyMine でコードをデバッグできるはずです。 適切なデバッガー実装は IDE が自動的に提案するため、特別な操作は不要です。

YARD

YARD マクロのコードインサイト

バージョン 2022.2 より、RubyMine は YARD マクロ拡張を認識し、マクロ拡張の一般的なコード補完を行えるようになりました。

  • マクロ参照で Go to declaration(宣言に移動)アクションを使用すると、対応するマクロ宣言に移動します。
  • Find usages(使用箇所の検索)アクションを呼び出すと、マクロ宣言の使用箇所が検索されます。
  • Shift+F6 を押すと、マクロのすべての使用箇所で Rename(名前の変更)が実行されます。

潜在的なパフォーマンスの問題があるため、RubyMine はマクロの「attach」をサポートしていません。

YARD ドキュメントのレンダリングの改善

エディターで YARD のコメントとタグをレンダリングする際のそれらの外観を更新しました。 インデントとスタイルを整理し、IDE 内でのコードドキュメントの統一性が高まるように改善しています。

その他の新機能

現在のファイルの実行

RubyMine は実行/デバッグ構成を使用して、コードの実行、デバッグ、およびテストを行っています。 このリリースでは、エディターで現在開いているファイルの実行とデバッグを行う新機能を導入しました。

パターンマッチによるローカル変数に対するコードインサイト

エンティティ間の移動、Rename(名前の変更)リファクタリング、および Find Usages(使用箇所の検索)といったコードインサイトの機能が、パターンが一致するローカル変数に対して動作するようになりました。

行コメントの継続を終了

このバージョンでは、Enter を押して行コメントの継続を終了する新しいオプションが追加されました。 Shift+Enter を使用すると、空のコメント行が挿入されます。 このオプションの切り替えは、Preferences(環境設定)/ Settings(設定)| Advanced Settings(高度な設定)| Ruby | Delete empty line comment with Enter(Enter で空の行コメントを削除)チェックボックスで行います。

全体フォントサイズの変更

最近、エディター全体のフォントサイズを変更するキーボードショートカットを導入しました。 フォントサイズを大きくするには、Alt+Shift+. を押し、 小さくするには、Alt+Shift+, を押します。

インタープリター名の編集

プロジェクトごとに異なる Ruby を使用する場合に、Ruby SDK 設定でインタープリター名を編集できるようになりました。 この機能は、各種 SDK を人間が認識しやすくすることで、SDK を選択する際の混乱を防ぐために追加されています。

RuboCop の提案から Gemfile を開く

Notifications(通知)ツールウィンドウから Gemfile を開き、RuboCop gem を追加できるようになりました。 Notifications(通知)ツールウィンドウに Set up RuboCop(RuboCop のセットアップ)提案が表示されたら、Add(追加)をクリックしてください。

丸括弧の自動挿入の管理

RubyMine のコード補完で丸括弧を自動的に挿入するかどうかを選択できるようになりました。 丸括弧の自動挿入を有効にするには、Settings(設定)/Preferences(環境設定)| Editor(エディター)| General(一般)| Code Completion(コード補完)に移動し、Insert parentheses automatically when applicable(可能な場合は丸括弧を自動的に挿入)チェックボックスをオンにしてください。

JavaScript

Angular スタンドアロンコンポーネントのサポート

Angular スタンドアロンコンポーネントのサポート

JetBrains は RubyMine での Angular のサポートに積極的に取り組んできました。 このリリースで追加された最も重要な機能は、Angular スタンドアロンコンポーネントのサポートです。 RubyMine で、standalone: trueにマークされたコンポーネント、ディレクティブ、およびパイプが正しく認識されるようになりました。

Vue  関連の更新

Vue 関連の更新

WebStorm での Vue 3 のサポートは、最新の Vue に関連する一部の更新に遅れを取っており、 改善機能を提供することでこの問題に対処してきました。ただし、Vite のサポートなどの一部機能については、すでにバージョン 2022.1 のマイナーアップデートで対応しています。 RubyMine 2022.2 にはいくつかの修正も含まれています。 たとえば、v-if/else ディレクティブでの型の絞り込みを理解できるようになっています。

TypeScript 4.7 のサポート

TypeScript 4.7 のサポート

RubyMine 2022.2 には、TypeScript 4.7 がバンドルされており、Node.js で moduleSuffixes や ESM といった新しい言語機能がサポートされています。 tsconfig.json ファイルで module が node16 または nodenext に設定されている場合、import ステートメントに自動的に .js 拡張子が挿入されます。 また、RubyMine は package.json ファイルの typesVersions フィールドをサポートしています。

機能廃止計画

このリリースでは、Rails 3、RCov gem、JRuby 実行構成タイプのほか、Zeus、Spork、および Nailgun プリロードサーバーといったいくつかの古いテクノロジーと機能のサポートが廃止されています。 この決定に関する詳細については、こちらの発表をご覧ください。