Rider の新機能

Rider 2023.1 では、コレクションのさまざまな型の操作を最適化して高速化するインスペクション一式と、より柔軟にコードへ null チェックを導入するための方法などを含む C# のサポート改善が行われています。 Rider を使用したゲーム開発が、 Unity の Data Oriented Tech Stack(DOTS)と Unreal Engine 5.2 のサポートを導入することで強化されました。ブループリントファイル形式に対する最近の更新、 Godot 4 のサポート、その他多数のゲーム開発ワークフローの強化などが含まれます。最新バージョンの IDE では、エディターの利便性を向上させるための微調整、バージョン管理ツールと Docker 操作の改善、および新しい UI と全体的なユーザーエクスペリエンスの改善に寄与する多数の改善が実施されています。

主な更新内容

Unity の DOTS をサポート ゲーム開発

Unity がオブジェクト指向からデータ指向のデザインへ移行を進めているため、Rider 2023.1 では CPU に優しい革新的なゲーム制作手法を提供する Data Oriented Tech Stack(DOTS) のサポートを開始しました。

詳細情報

コレクション内のルックアップ数削減

コレクション内のルックアップ数削減 C# サポート

ルックアップ数を削減することで、コレクションでの作業を最適化するインスペクションと、対応するクイックフィックスを導入しました。たとえば、Rider は冗長な Contains と ContainsKey チェックを除去して TryAdd メソッドと TryGetValue メソッドを代わりに使用することを提案します。

Perforce 向けの VCS ウィジェット バージョン管理

Rider と Perforce の統合に大規模な改良を施し、Version Control Systems(VCS) ウィジェットを Perforce に対応させました。 Perforce 向けの VCS ウィジェットは Commit(コミット)、Revert(元に戻す)、および Update Project(プロジェクトの更新)などの基本的なアクションへの迅速なアクセス手段を提供するだけでなく、現在のワークスペースを通知して接続ステータスも表示します。

文字列変数のビジュアライザー デバッガー

デバッグセッション中に、HTML、XML、JSON、JWT、または URL エンコーディング文字列変数の値を可視化できるようになりました。 Debug(デバッグ)ツールウィンドウの Threads & Variables(スレッドと変数)タブで、文字列の横にある View(表示)リンクテキストをクリックするだけです。または、エディターで変数にマウスを合わせた時に表示される View(表示)リンクをクリックすることも可能です。

C# のサポート

コレクション内のルックアップ数削減

コレクション内のルックアップ数を減らすことで、コレクションのさまざまな型の操作を最適化して高速化するインスペクションと、対応するクイックフィックス一式を導入しました。

  • HashSet、または ISet インターフェースを実装するその他のコレクションに項目を追加する前の Contains(item) チェックを除去します。
  • Dictionary、または IDictionary インターフェースを実装するその他のコレクションに項目を追加する前の ContainsKey(key) チェックを除去します。
  • 可能な場合に Dictionary コレクションまたは Dictionary から継承されたコレクションに TryAdd(key, value) を使用します。
  • 可能な場合に IDictionary コレクションに TryGetValue(key, out value) を使用します。

null チェックパターンの構文スタイル

パターン内の not null チェックに 1 つのスタイルを一貫して適用するのに役立つ、新しい構文スタイル設定を提供しています。空の再帰パターン構文 { } と、否定されたパターン not null の 2つのオプションがあり、後者がデフォルトになっています。 Settings/Preferences(設定/環境設定)| Editor(エディター)| Code Style(コードスタイル)| C# | Syntax Style(構文スタイル) タブを開けば、いつでも動作を調整できます。

not null パターンの使用では、変数名をチェックされた値に導入することができないため不便です。再帰パターン { LastName: { } lastName } では可能です。同じ値にアクセスする式を検索してすべてのアクセスを同じ値に統合するため、Add pattern variable(パターン変数の追加)コンテキストアクションがすべてを新しく導入された名前に置換する not null パターンに追加しました。

ArgumentNullException.ThrowIfNull スタイルの null チェック

ArgumentNullException.ThrowIfNull スタイルの null チェック

.NET 6.0 SDK に null チェックである ArgumentNullException.ThrowIfNull に対応した新しい API が導入されました。それ以降のコード解析エンジンはこのチェック方法を認識しますが、この API を Rider が生成する null チェックのデフォルトスタイルとして使用するオプションはありませんでした。

2023.1 リリースでは、Setting/Preferences(設定/環境設定)| Editor(エディター)| Code Style(コードスタイル)| C# | Null checking(Null チェック) に Rider の ArgumentNullException.ThrowIfNull パターンを追加しました。

共通プロパティパターンの抽出

共通プロパティパターンの抽出

プロパティパターンマッチングを頻繁に使用している場合は、新しいクイックフィックス付きのインスペクションを試してみてください。コードフローにまとまて含まれている複数プロパティパターンの共通要素が抽出されます。 Extract common property pattern(共通プロパティパターンの抽出)クイックフィックスで生成されたコードによって、共通するプロパティパターンがより高いレベルパターンに移動されるため、コードの繰り返しを減らすことができます。

空のリージョンを除去

空のリージョンを除去

多くの場合、C# 開発者は #region ディレクティブと IDE のコードの折りたたみを使用してコードを構成します。リファクタリングにより、一部の #region が空になり、折りたたんだ際に誤解を招くコードになる場合があります。この新しいコードインスペクションを使用すると、折りたたんだ状態の空の #region を特定し、対応するクイックフィックスでコードをクリーンアップできます。

span.SequenceEqual(“str”) の置換

span.SequenceEqual(“str”) の置換

コード解析に span.SequenceEqual("stringLiteral") を span is "stringLiteral" に置換するように提案するコードインスペクションが追加されました。関数を呼び出すよりも便利で分かりやすい C# 構文の解決方法です。

ラムダ式の戻り値の型指定を挿入

ラムダ式の戻り値の型指定を挿入

C# のラムダ式には暗黙的に型指定されるパラメーターと推論される戻り値の型を指定できます。ただし、複雑なオーバーロードを解決する場合にコードを明確にする目的で明示的な型を追加することもできます。 C# 11 以降では、ラムダ式に戻り値の型指定を追加することもできます。

ReSharper ではこの操作を行うための Insert return type specification(戻り値の型指定を挿入)コンテキストアクションを導入しています。このアクションはメソッド、クラス、ファイル、プロジェクトなどのすべてのスコープ、またはソリューション全体に提供できます。

Pattern is redundant(パターンは冗長です)インスペクション

Pattern is redundant(パターンは冗長です)インスペクション

C# の or/and/not パターンはコンパクトな値チェックに役立ちますが、||/&&/! などの従来の式よりも分かりにくい場合があります。丸括弧がなければ、発見しづらいバグが発生する可能性もあります。この問題に対応するため、複雑なパターン内の「役に立たない」チェックについて警告する新しいコード解析を導入しました。

Convert to list pattern(リストパターンに変換)コンテキストアクション

Convert to list pattern(リストパターンに変換)コンテキストアクション

C# 11 のリストパターンのサポートは継続的に改善されています。新しい Convert to list pattern(リストパターンに変換)コンテキストアクションを使用すると、コレクション長のチェックをリストパターン構文に変換することができます。このアクションはコレクション長のチェックを実行できるすべてのコンテキストで機能します。

ゲーム開発

Unity

DOTS のサポート

Data-Oriented Tech Stack(DOTS) は Unity の大規模なアーキテクチャの変更であり、連続したベクトルにコンポーネントデータを格納します。これにより、システムがより CPU 効率の良い方法でアクセスと変更を行えるようにしています。これは、より大規模で野心的なプロジェクトでのパフォーマンス改善に特に効果的です。

このリリースでは、最も革新的なゲーム開発向け IDE としての Rider の評判を強固なものにするため、Unity DOTS のサポートを導入しています。

Rider 2023.1 では、次の新機能を活用できます。

  • 新しいファイルテンプレート。
  • DOTS 型の Code Vision。
  • “baker” マッピングコードに対するオーサリングコンポーネントの自動生成。
  • 新しい DOTS スタイルで動作するコードベースの記述と更新に役立つインスペクションとクイックフィックス。

Rider での DOTS に関して必要なすべての情報は、このブログ投稿とでデモを参照してください。

USB を使用した Android デバイスのデバッグ

WiFi 経由で Android ゲームをデバッグすることは可能ですが、ケーブルを使用するほうが便利な場合があります。 Rider 2023.1 は USB を使用した Android ゲームのデバッグをサポートしています。

接続されているデバイスで実行されているプロジェクトを確認し、デバッグを開始するには、Unity プロセスにアタッチ ダイアログを使用してください。

アタッチされたプレイヤー用の一時的な実行構成

アタッチされたプレイヤー用の一時的な実行構成

Rider 2023.1 は、Unity プロセスにアタッチダイアログを通じてプレーヤーをデバッグする際に、一時的な実行構成を自動的に作成します。これにより、別のデバッグセッションを開始するのがより簡単になります。この実行構成を保存して常時使用できるようにすれば、チームと共有できます。デスクトップ、モバイルデバイス、コンソール、および USB デバイス (iOS または Android) など、サポートされているすべてのプレイヤーで機能します。

ドキュメント

ドキュメント

Rider ではすでに .NET 基本クラスライブラリと基本的な Unity API のオンラインドキュメントを提供しています。しかし、このリリースでは、Unity のレジストリパッケージやDOTSのオンライン文書に迅速にアクセスできるようになっています。 F1 を押すか、シンボルにマウスを合わせたときに表示されるQuick Document(クイックドキュメント)ポップアップを参照すると、ドキュメントへのリンクが表示されます。

Rider の Unity サポートで表示されるテキストは他の製品と同様に中国語、日本語、韓国語にローカライズされています。また、Rider は Unity のオンラインヘルプとツールチップの概要についても可能な場合はローカライズされたドキュメントを使用します。

UI Toolkit 対応のファイルテンプレート

Unity 2022.2 より、Unity Editor 用の UI 拡張機能の作成に UI Toolkit の使用が推奨されるようになりました。この変更に対応できるよう、 UI Toolkit をベースとした 3 つのカスタマイズ可能な新しいファイルテンプレート(エディターウィンドウ、Property Drawer、カスタムインスペクターエディターの作成)を追加しました。これらのファイルテンプレートは Unity 2022.2 以降でのみ使用可能ですが、IMGUI バージョンも引き続き使用可能です。

それだけではありません!

いつものように、コード内にあるシリアル化されたフィールドの検出精度の向上など、他にも多くの変更と更新を行っています。この対象には派生型と [SerializeReference] 属性を使用する複雑なシナリオを含まれます。また、Unity アニメーション内にある C# コードの使用箇所を検索し、メソッドをイベントハンドラーとしてハイライトするためのサポートも改善しました。多くの要望があったフォーマットエンジンの変更も実装し、別の行に [Header] 属性を配置するようにしました。

Unreal Engine

Unreal Engine 5.2 のサポート

Epic Games が Unreal Engine 5.1 と 5.2 で UnrealHeaderTool(UHT)を UnrealBuildTool(UBT)に統合しました。 Rider 2023.1 はこれらの変更に対応できており、Rider の UHT 統合は新しいバージョンの Unreal Engine でも機能するようになっています。 Rider は Unreal Engine 5.2 に含まれる予定のブループリントファイル形式に対する最近の更新もサポートしています。

New UE class(新規 UE クラス)コンテキストアクション

Unreal Class…(Unreal クラス...)コンテキストアクションが改良され、さまざまな親クラスを選択できるようになっただけでなく、クラスが public か private かを指定できるオプションも提供するようになりました。ダイアログ全体としては、Unreal Engine の対応するダイアログに合わせて外観と動作が調整されています。

ブループリントのエラー解析

Rider がブループリントファイルを解析できなかった場合、Rider が Problems View(問題ビュー)ウィンドウの個別の Blueprints(ブループリント)タブに解析エラーを表示するようになりました。このため、ネイティブのファイルシステムエクスプローラーで問題のあるファイルの場所を特定できます。各問題には、検出されたエラーの簡単な説明が付きます。

Clang コンパイルメッセージの解析

Clang コンパイルメッセージの解析

Rider 2023.1 では、macOS と Linux で Unreal Engine ゲームをビルドする際に Clang コンパイラーによって生成されるメッセージを解析できるようになりました。ファイルへのリンクを含め、Build Output(ビルドの出力)ツールウィンドウで Clang の警告とエラーが正しく解析されます。リンクをダブルクリックすると、正確な警告またはエラーの発生箇所に移動できます。

マクロ置換プレビュー

マクロ置換プレビュー

マクロにカーソルを合わせると、完全な構文ハイライトと適切なコード書式が適用された状態でのマクロ展開のプレビューがツールチップが表示されるようになりました。 Substitute macro call(マクロ呼び出しの置き換え)コンテキストアクションを使用してエディターに直接展開することもできますが、即時プレビューならマクロの扱いがより楽になります。

UInterface ライブテンプレート

UInterface ライブテンプレート

Rider が Unreal Engine ソリューション向けのビルトイン UInterface ライブテンプレートの提供を開始しました。既存の UCLASS、USTRUCT、および UENUM ライブテンプレートと同様に、UInterface でも Unreal Engine 規則に準拠した新しいインターフェースクラスをすばやく追加できるため、手動で作成する時間と手間が省けます。

シェーダーのマッピング

仮想および物理シェーダーディレクトリのマッピングを指定できるようになりました。ゲームまたはエンジンプロジェクトに RiderLink がインストールされている場合、Unreal Engine からシェーダーマッピング情報をロードすることもできます。

Godot

Godot プラグイン

Rider の Godot プラグインの最新バージョンには次の更新と修正が含まれています。

  • res:// 補完が改善され、ユーザビリティと可視性が向上しました。 GD.LoadPackedScene などの特定の既知の API 呼び出しでは、res:// 接頭辞が入力される前でも即座に文字列リテラルの補完が提供されます。
  • Godot 4 は Mono ではなく .NET6 ランタイムを使用するため、この変更に対応するために若干の修正が必要でした。 Godot アプリケーションをデバッグ中にブレークポイントにヒットした場合、Current Scene(現在のシーン)が Immediate ウィンドウ内に自動的に作成されます。さらに、Immediate ウィンドウ内の Godot.Node に Children(子)グループが追加され、Godot.Node の子孫を再帰的に表示するために使用できます。

コードエディター

選択されたコードでのみ空白を表示するオプション

選択されたコードでのみ空白を表示するオプション

Settings/Preferences(設定/環境設定)| Editor(エディター)| General(一般)| Appearance(外観)| Show Whitespaces(空白の表示) に、コードを選択した場合に Rider が小さなドットで空白を表示する設定を構成できる新しい Selection(選択)チェックボックスが追加されました。

色とブラシのプレビュー

色とブラシのプレビュー

WPF アプリケーションと同様に、Rider 内のコードエディターが Avalonia XAML(.axaml)と C#ファイルでも値と参照の色とブラシのプレビューを表示するようになりました。

型変換ヒントを非表示にするオプション

型変換ヒントを非表示にするオプション

Rider が選択した演算子の型変換ヒントを非表示する方法を実装しました。インレイヒントを非表示にするには、演算子の横にキャレットを置き、Alt+Enter ショートカットを使ってコンテキストメニューを呼び出します。Configure Inlay Hints(インレイヒントの構成)| Type Conversion Hints(型変換のヒント)に移動し、Hide for…(非表示...)アクションを選択してください。

また、Settings(設定)/ Preferences(環境設定)| Editor(エディター)| Inlay Hints(インレイヒント)| C# | Type Conversion Hints(型変換のヒント)に移動して、型変換のヒントを非表示にする演算子のリストを構成することもできます。

ハッシュと特殊な値のスペルチェックの無効化

ハッシュと特殊な値のスペルチェックの無効化

Typo(タイポ)インスペクションを更新し、ハッシュと特殊な値のスペルチェックを行わず、スペルミスとして報告しないようにしました。この更新は以下の値に対応しています。

  • Md5、Sha1、および Sha256 の 16 進数値。
  • shaNNN- 接頭辞を持つ、Sha384 と Sha512 の base64 でエンコードされた整合性値。
  • JWT トークン。
xUnit 属性のパラメーター名ヒント

xUnit 属性のパラメーター名ヒント

NUnit ではすでに利用できるように、Rider は、xUnit テストの InlineData と InlineAutoData 属性にパラメーター名ヒントを表示できるようになりました。

ウェブ開発

Angular のコード補完でのインポート

Rider 2023.1 では、Angular テンプレート内のグローバルとエクスポートされたシンボルを操作する際、IDE がコード補完またはクイックフィックスを使用するタイミングでこれらに対応するインポートをコンポーネントに自動的に追加するようになっています。

Vue テンプレート式での TypeScript のサポート

Rider 2023.1 には、Vue テンプレート式での TypeScript のサポートが含まれています。この Vue テンプレート式がスクリプトタグに追加された際に lang=”ts” に同期するようになりました。そのため、Rider による Typescipt の評価が改善され、スクリプトタグの内容に応じた環境設定と関連するリファクタリングを提供できるようになりました。お気づきかもしれませんが、以前は純粋な .js ファイルと .ts ファイルの設定とリファクタリングに差がありました。このリリースでは lang 属性が一致するように改善されています。

文字列からテンプレートリテラルへの自動変換

文字列からテンプレートリテラルへの自動変換

Rider に ${ を入力するたびに、シングルクォートまたはダブルクォートで囲まれた文字列がテンプレートリテラルに自動変換されるようになります。これは、生の文字列だけでなく、JSX プロパティにも機能します。

詳細: WebStorm 2023.1 の新機能

UX/UI の改善

IDE 全体のズーム機能

IDE 全体のズーム機能

Rider を拡大・縮小し、すべての UI 要素のサイズをまとめて増減できるようになりました。メインメニューから View(表示)| Appearance(外観)を選択し、IDE の表示倍率を調整します。

新しい Remember size for each tool window (各ツールウィンドウのサイズを記憶する) 設定

新しい Remember size for each tool window(各ツールウィンドウのサイズを記憶する)設定

Rider 2023.1 では、サイドツールウィンドウの幅を統一するか、レイアウトのカスタマイズに合わせてサイズを自由に調整する機能を保持する新しいレイアウトオプションを導入しました。新しい Remember size for each tool window(各ツールウィンドウのサイズを記憶する)チェックボックスは、Settings(設定)/ Preferences(環境設定)| Appearance & Behavior(外観 & 振る舞い)| Tool Windows(ツールウィンドウ)にあります。

デフォルトで有効な Search Everywhere(どこでも検索)の ML 駆動クラス検索

デフォルトで有効な Search Everywhere(どこでも検索)の ML 駆動クラス検索

より関連性の高い正確な検索結果を提供するため、機械学習のランキングを Search Everywhere(どこでも検索)(ダブル Shift)機能に統合する取り組みを続けています。 Classes(クラス)タブの並べ替えアルゴリズムも、Actions(アクション)と Files(ファイル)タブとともにデフォルトで機械学習駆動となっています。

新しい UI への変更 ベータ版

ツールウィンドウの左右分割

ツールウィンドウの左右分割

新しい UI では、ツールウィンドウエリアを分割してウィンドウを使いやすく整理できるオプションを導入しました。

このエリアにツールウィンドウを追加して下の方に配置するには、サイドバーに沿ってアイコンをドラッグし、セパレーターの下にドロップします。または、アイコンを右クリックしてコンテキストメニューを呼び出し、Move to(移動)アクションを使ってツールウィンドウの新しい配置場所を割り当てます。

コンパクトモード

Compact Mode(コンパクトモード)

小さめの画面で Rider の新しい UI のユーザーエクスペリエンスを改善するため、外観をより集約させた Compact Mode(コンパクトモード)を導入しました。このモードでは、ツールバーとツールウィンドウヘッダーの高さ、間隔とパディング、アイコンとボタンが縮小されています。

Compact Mode(コンパクトモード)をオンにするには、View(表示)メニューに移動し、Appearance(外観)| Compact Mode(コンパクトモード)を選択してください。

macOS のプロジェクトタブ

macOS のプロジェクトタブ

IDE の新しい UI で最も要望の多かった機能の 1 つである macOS ユーザー向けのプロジェクトタブを導入しました。複数のプロジェクトを開いている場合、メインツールバーの下に表示されるプロジェクトタブを使ってプロジェクトを簡単に切り替えられるようになっています。

非表示タブの表示

非表示タブの表示

新しい UI に Show Hidden Tabs(非表示タブを表示)機能を追加しました。開いているタブの横に、開いているタブの全リストを表示するドロップダウンが追加されています。以前は非表示になっていることがありました。

Run(実行)ウィジェットの再設計

メインウィンドウのヘッダーにある Run(実行)ウィジェットをより落ち着きのある色合いで再設計しました。より目に優しく、微妙な色合いの外観になっています。

バージョン管理ツール

GitHub のコードレビューワークフローの改善

Rider 2023.1 では、IDE でのコードレビュー手順を微調整しました。当社の調査によると、ユーザーはコードを参照する際に GitHub と IDE をよく切り替えています。 Pull Requests(プルリクエスト)ツールウィンドウを改良し、このワークフローを改善しました。

このウィンドウに各プルリクエスト専用のタブが追加されました。このタブには重要な情報のみが表示されるため、ユーザーは手持ちの業務に集中できます。プルリクエストの現在の状態に応じて最も重要なアクションを簡単に実行するためのボタンも追加しました。

Create New Branch(新規ブランチの作成)ポップアップの自動補完

Create New Branch(新規ブランチの作成)ポップアップの自動補完

Rider 2023.1 では、Create New Branch(新規ブランチの作成)ポップアップに自動補完が実装されました。新しいブランチの名前を入力し始めると、IDE が既存のローカルブランチの名前を基に関連性のある接頭辞を提案します。

Branches(ブランチ)ポップアップの改善

Branches(ブランチ)ポップアップの改善

Branches(ブランチ)ポップアップのユーザビリティを改善しました。たとえば、ブランチが展開可能なリストにグループ化されて保管されるようになり、ブランチ間の移動操作がより簡単になっています。

データベースツール

データベースの Schema Compare

Schema Compare は、データベースの開発とメンテナンスに欠かせないツールです。 2 つのデータベースを比較して差分を素早く確認できるため、確実に矛盾をなくし、データを最新の状態に維持することができます。

Rider 2023.1 では、接続されたデータベース、SQL Server データベースプロジェクト、および .dacpac ファイル用の Schema Compare が導入されています。比較を開始するには、Solution Explorer(ソリューションエクスプローラ―)でデータベースプロジェクトファイルを右クリックし、Schema Compare… を選択します。

Schema Compare(.scmp)ファイルを表示・編集できる専用のエディターウィンドウを作成しました。また、Problems View(問題ビュー)ウィンドウにはデータベースの比較によって発見された問題のほか、データベースモデル検証で検出された問題も表示されるようになっています。

重要: Rider の Schema Compare 実装は SQL Server Data Tools を基盤としているため、Microsoft Visual Studio(バージョン 2017 以降)がコンピューターにインストールされている必要があります。

Docker

Fast モードの実行

Rider での Docker プロジェクトの実行に Fast Mode(Fast モード)を使用できるようになりました。このモードは従来はデバッグにしか使用できませんでしたが、より広範な Dockerfile でも Fast Mode(Fast モード)を使用できるようにしました。また、Fast モードの高速化も行い、ソリューションの起動時に Docker イメージをプルして検査するように改善されています。

実行構成の自動生成

Rider 2023.1 は、ソリューションを開く際に .dcproj プロジェクトファイルから自動的に Docker Compose 実行構成を生成できます。また、このバージョンの IDE は launchSettings.json ファイルに DockerfileFile プロジェクトプロパティが指定されている場合か Docker ファイルプロファイルが含まれている場合に DockerFile 実行構成を生成できます。

起動設定プロファイルで httpPort、sslPort、publishAllPorts、および useSSL プロパティを指定すると、さらなるカスタマイズが可能です。

生成された SSL 証明書の共有

Fast モードで Docker にアプリケーションをデプロイする場合は常に生成された HTTPS 開発証明書をホストとコンテナー間で共有しなければなりません。このステップを自動化するため、Docker 実行構成に Share generated SSL certificate(生成された SSL 証明書を共有)オプションを追加しました。信頼できる証明書は Windows と macOS にしか共有できないため、Linux ではこの証明書を手動で信頼する必要があることに注意してください。

Docker Compose

Docker Compose

プロジェクトに Docker Compose を追加して、複数のコンテナーを簡単に一括処理できるようになりました。これを行うには、プロジェクトのコンテキストメニューを呼び出し、Add(追加)| Docker Compose File(Docker Compose ファイル)を選択して以下を生成します。

  • プロジェクトの Dockerfile(欠落している場合)。
  • ツリー内の全プロジェクトの上にある Solution Items ソリューションフォルダーの docker-compose.yml ファイル。
  • Dockerfile または docker-compose.ymlのいずれかを実行するための 2 つの実行構成。

すべての Docker Compose コンテナーのログを集約

Docker Compose ノードの Dashboard(ダッシュボード)タブにすべての Docker Compose コンテナーのログを集め、すべてをまとめて表示できるようになりました。リアルタイムで更新されます。

Azure Container Registry のサポート

Azure Container Registry に簡単に接続できるようになりました。 Settings/Preferences(設定/環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Docker | Docker Registry に移動し、Registry(レジストリ)入力フィールドで Docker V2 オプションを選択してセットアップします。

実行/デバッグ

Run(実行) 構成

カスタムフォルダーにインストールされているランタイムでアプリケーションを実行したい場合もあります。このような場合に対応するため、Run/Debug Configurations(実行/デバッグ構成)ページの Runtime(ランタイム)設定に Add Custom Runtime(カスタムランタイムの追加)オプションを導入しました。

また、Runtime(ランタイム)ドロップダウンリストにはデフォルトのランタイムバージョンへのパスも追加されています。

Rider 2023.1 では、Roslyn コンポーネントを簡単にデバッグできるように launchSettings.json ファイル内の DebugRoslynComponent コマンドもサポートしています。

Reattach to Process(プロセスに再アタッチ)アクション

Reattach to Process(プロセスに再アタッチ)アクション

メインメニューで Run(実行)| Reattach to Process(プロセスに再アタッチ)... に移動するか、キーボードショートカット Ctrl+Alt+Shift+F5 を使用して、Rider のデバッガーをアタッチされていた最後のプロセスに簡単に再アタッチできるようになりました。この新しいアクションは、最初のデバッグセッションの後から使用できます。

WASM 起動コードのデバッグ

Rider は WebAssembly(WASM).NET アプリケーションの起動コードをデバッグできるようになりました。従来、ほとんどのプロジェクトで WASM デバッガーをアタッチできるのはアプリの初期化が完了した後だけでした。ポート計算、接続の初期化などの実行に時間を要していたためです。この遅延により、起動時にコードをデバッグすることが不可能となっていました。

このリリースでは Rider がページターゲットの初期化を待機し、デバッガーを接続した後に実際のアプリの読み込みを開始できるようになりました。これにより、アプリの初期化ロジックの早い段階で設定されるブレークポイントをキャッチできるようになっています。

デバッグ終了時にブラウザーのタブを閉じる

Rider で ASP.NET Core アプリケーションのデバッグセッションを開始すると、IDE はセッション用に新しいブラウザーウィンドウまたはタブを開きます。これまでは複数のデバッグセッションを実行すると複数のタブが開き、それらを手動で閉じる必要がありました。

このリリースでは JavaScript デバッガーが有効になっている状態で ASP.NET Core アプリケーションをデバッグすると、そのプロセスが停止した瞬間に Rider が対応するブラウザータブを閉じるようになっています。

F# のサポート

コード補完

Create New Branch(新規ブランチの作成)ポップアップの自動補完

必要なボイラープレートコードの記述に役立つ新しい後置テンプレート(match、for、および with)を導入しました。

Create New Branch(新規ブランチの作成)ポップアップの自動補完

新しい match 式の入力を開始すると、union、enum、bool、およびタプル値のすべてのケースを生成するよう提案されます。

正規表現の言語インジェクション

正規表現の言語インジェクション

F# の文字列リテラルで正規表現をサポートするようにしました (Saul Rennison 氏より多大なご協力を頂きました)。 [RegexPatternAttribute] または [StringSyntax(StringSyntaxAttribute.Regex)] アノテーションが付いた文字列パラメーターを渡している場合か文字列リテラルの横にコメント //language=regex がある場合、Rider はこれらの文字列を正規表現として処理し、構文とエラーのハイライトと自動補完を提供します。

クイックフィックス

クイックフィックス

  • match 式に足りないパターン分岐を生成する新しいクイックフィックスが追加されています。

F# に関する更新と修正の完全なリストはこちらで確認できます。

プラグイン

ローカライゼーション ベータ版

Rider 2023.1 では、中国語、韓国語、および日本語への初期段階のローカライゼーションが導入されています! UI、コードインスペクション、Alt+Enter メニュー、ツールウィンドウ、および通知(Unity と Unreal Engine サポートのものを含む)が部分的にローカライズされています。

IDE をローカライズするには、Settings(設定)/Preferences(環境設定)| Plugins(プラグイン)に移動し、Marketplace で希望する言語の言語パックプラグインを検索します。プラグインをインストールしたら IDE を再起動して変更を適用してください。または、JetBrains Marketplace ウェブサイトから 中国語、韓国語、または日本語の言語パックプラグインをダウンロードして、 Settings/Preferences(設定/環境設定)| Plugins(プラグイン)| ⚙️ | Install Plugin from Disk(ディスクからプラグインをインストール) からインストールすることもできます。

継続的テストのトリガー

Trigger Continuous Testing(継続的テストのトリガー) アクション dotUltimate

Trigger Continuous Testing(継続的テストのトリガー)アクションとそのショートカットをセットアップするオプションを導入しました。このアクションにより、継続的テストを直接トリガーできるようになっています。従来はプロジェクトをビルドまたは保存することで間接的にトリガーすることしかできませんでした。

このアクションにショートカットを割り当てるには、Preferences(環境設定)/Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Unit Testing(ユニットテスト)| Continuous Testing(継続的テスト)に移動し、Trigger Continuous Testing on…(継続的テストのトリガー…)を選択してから希望するショートカットをセットアップしてください。

Astro のサポート

Astro の初期サポートが導入され、Rider で新しいプラグインを使用できるようになりました。 JetBrains Marketplace から Astro プラグインをダウンロードするか、Settings/Preferences(設定/環境設定)| Plugins(プラグイン)で “Astro” を検索して直接インストールすることができます。

このプラグインには、構文ハイライト、自動インポートのコード補完、リファクタリング、ナビゲーション、インテンション、コードの折りたたみ、Emmet のサポート、適切な書式設定などの基本機能が備わっています。

その他の機能

Structure(構造)ビュー

Rider 2023.1 にはコードナビゲーションの改善と修正が満載です。 Rider が Structure(構造)ビューツールウィンドウに継承メンバーを表示できるようになり、Structure(構造)ビューにデコンパイルされたコードのクラスメンバーを表示する Rider の機能を復元しました。

コードのクリーンアップ

コードのクリーンアップ

Reformat inactive preprocessor branches in file(ファイル内の非アクティブなプリプロセッサブランチの整形)は、Rider 2023.1 で導入されたコードのクリーンアップの新しいタスクタイプです。このタスクを使うと、非アクティブのプリプロセッサブランチを整形することができます。一度にファイル全体にしか適用できず、C# ソースのみに機能します。

このタスクは、必ず false になるプリプロセッサディレクティブ #if に隠されているコードを整形することはできません。この制限の例として最も明確なものには、#if false ... #endif と #define A #if !A ... #endif の 2 つのコンストラクトがあります。

ユニットテストツリーのテキストフィルター

ユニットテストツリーのテキストフィルター

Unit Tests(ユニットテスト)および Unit Test Coverage(ユニットテストカバレッジ)ツールウィンドウ内でユニットテストツリーに適用されるテキスト検索フィルターが、ツールバーの Run(実行)ボタンを使用してテストを実行する際に考慮されるようになりました。検索条件を満たすノードのみがそのままリストされ、実行されます。

名前の変更リファクタリング

名前の変更リファクタリング

Rider がプロジェクトファイルの名前の変更を処理する方法を改善しました。このバージョン以降の Rider でソリューション内のファイル名を変更すると、それに合わせてすべての関連シンボルの名前を変更するオプションが含まれるダイアログが表示されます。