新しい Ruby および RBS 言語機能のサポート、新しいインスペクションとクイックフィックス、UX の改善など。
RubyMine 2022.1 では、Ruby 3.1 で導入された Ruby と RBS の新機能のサポートを開始しています。 これには、制限付き (bounded) ジェネリクス、RBS コレクション、匿名ブロック引数の転送、ジェネリックな型エイリアスなどのサポートが含まれます。
このバージョンでは、RBS に含まれる型変数の使用箇所をチェックする新しいインスペクションがいくつか追加されています。 報告対象は、型シグネチャーの欠落、無効な型引数の使用箇所、競合する型変数の変性、不正な型引数の変性などです。
RubyMine がクイックドキュメント検索(Ctrl+Q)にオーバーロードを表示できるようになりました。 メソッドでクイックドキュメントを呼び出すと、現在一致しているオーバーロードが表示されます。
RubyMine が対応する RBS ファイルの型シグネチャーに基づいて Ruby コードのインレイヒントを表示できるようになりました。 ヒントをクリックすると、対応する型シグネチャーに移動します。
RubyMine は、必要な RBS の型と一致していない Ruby コード内の推論される型を報告します。 バージョン 2022.1 より、このような場合に対応する RBS ファイルに素早く移動できるようになりました。
RubyMine は @overload
タグを理解しているため、パラメーター情報を表示する際に宣言済みのすべてのオーバーロードを提案します。 このバージョンより、@overload
タグの自動補完によって、記述しているメソッドの名前が追加されるようになりました。
New Project(新規プロジェクト)ダイアログのインターフェースを改良して新規プロジェクト作成プロセスを合理化し、新規ユーザーと経験豊富なユーザーのどちらにも対応できるようにしました。
generate
オプションのサポートこのビルドでは、Rails 7 で追加されたプロジェクト生成用の新しい JavaScript フレームワークオプションがサポートされています。 New Project(新規プロジェクト)ダイアログを使って新規プロジェクトを生成する際に、これらのオプションを選択できるようになりました。
Event Log(イベントログ)を新しい Notifications(通知)ツールウィンドウに置き換えました。 重要な通知を見逃すことのないように、IDE からの通知の概要をより分かりやすく管理できるようになります。 ツールウィンドウに表示されるすべての通知は、Suggestions(提案)と Timeline(タイムライン)の 2 つのカテゴリに分類されます。
Open File or Project(ファイルまたはプロジェクトを開く)ダイアログからツリーを消したため、開く際に IDE がすべての中間ディレクトリノードを計算しなくなりました。 この変更により、パスの計算が止まることで発生する長時間のハングが回避されるため、IDE の全体的なパフォーマンスが向上しています。
Debugger(デバッガー)ツールウィンドウのスペースを最大限に使用できるよう、デフォルトでタブのラベルを非表示にしました。
Structural Search and Replace(構造検索&置換)ダイアログを改良し、全テンプレートをリスト表示するようにしました。これにより、テンプレート間をより簡単に移動できるようになりました。
可視性修飾子(public
、protected
、private
)とその中のコードに対してインデントを設定できるようになりました。 この設定は、Preferences(環境設定)/Settings(設定)| Editor(エディター)| Code Style(コードスタイル)| Ruby | Tabs and Indents(タブとインデント)にある Indent visibility modifiers(可視性修飾子のインデント)チェックボックスで切り替えることができます。
LightEdit モードでは、プロジェクト全体の作成やロードを行わずにファイルを編集することができます。 その LightEdit モードでコードを整形できるようになりました。 これを行うには、Ctrl+Alt+L を押すか、メインメニューの Code(コード)| Reformat Code(コードの整形)に移動します。
Markdown ファイルのシェルコマンドの横に新しいガターアイコンを追加しました。 このアイコンをクリックすると、RubyMine の組み込みターミナルでコマンドを実行できます。 この機能は README ファイルなど、シェルコマンドが含まれていることの多いマニュアルを使用する際に役立ちます。
新しい Copy code snippet(コードスニペットのコピー)アクションを使用して、ブロックの内容をクリップボードにコピーできるようになりました。
Markdown ファイルの編集時にテキストを選択すると、フローティングツールバーに新しいオプションが表示されます。 このツールバーを使用して、ヘッダーのスタイルを素早く選択したり、リストを作成したりできるようになりました。
スペックから共有コンテキストとその中で使用されているサンプルに移動できるようになりました。 これを行うには、共有リソースを追加する include_context
、include_examples
、it_behaves_like
、または it_should_behave_like
ステートメントを Ctrl+クリックします。
Services(サービス)ツールウィンドウの Docker UI を大幅に改良しました。 この改良は、コンテナー、イメージ、ネットワーク、およびボリュームに実装されています。
Docker 1.6 以上で使用できるように、Docker Registry HTTP API V2 のサポートを開始しました。 Docker V2 の単純なレジストリかパスワードで保護されたレジストリを作成し、イメージの閲覧、プッシュ、プルといった頻繁に使用されるすべてのアクションを実行できます。
Annotate with Git Blame(Git Blame で注釈を付ける)機能を改善し、取り込まれた変更の調査をより簡単に行えるようにしました。 注釈にマウスポインタ―を合わせると、RubyMine がエディター内で行の差分をハイライト表示します。その注釈をクリックすると、Git Log ツールウィンドウを開くことができます。
Git File History(Git ファイル履歴)ツールウィンドウの新しい UI は、インデックス作成プロセスとは無関係になりました。 新しいインターフェースでは、ログのインデックス作成がオフの場合でもデータが表示されます。
React が組み込みでサポートされているため、Next.js プロジェクトではすでにすべての重要な機能が動作するようになっています。 RubyMine 2022.1 では、ページなどのフレームワーク固有の機能に対するサポートを新たに開始しています。 IDE は Link
コンポーネントの href
属性だけでなく、form などのその他のタグで使用されるパスも解決します。 コード補完、ナビゲーション、およびリファクタリングも動作するようになりました。
このリリースでは、JavaSciprt ツールマネージャーである Volta と適切に統合できるようになっています。 RubyMine は、Volta を使用してインストールされた Yarn と npm を自動的に認識します。
extend
キーワードはシングルトンクラスにメソッドを追加し、型変数にアクセス可能であるべきではありません。 extend
で型変数を使用しようとすると、RubyMine がエラーを表示するようになりました(RUBY-29099)。 corepack enable
を必ず実行してください。この機能はデフォルトではオンになっていません。 webpack.config.js
ファイル内の ES モジュールを処理できるようになりました。