Rider の新機能

Rider 2023.3 は C# 12 の最新機能を含め、.NET 8 SDK のサポートを提供しています。このアップデートでは複数のプロジェクトを実行する際のエクスペリエンスの改善、予測デバッグモード、ユニットテストの作成と移動操作を簡単に行う機能も追加されています。 Rider 2023.3 リリースでは AI Assistant への大規模な更新による強化も行われています。

主な更新内容

AI Assistant

AI Assistant のプレビューが終了しました 一般公開

JetBrains IDE の生産性を向上させる多数の新機能と改善が盛り込まれた JetBrains AI Assistant が一般公開されました。 Rider で行われた最新の改善には以下のようなものがあります。

  • コンテキストを認識する AI チャット
  • AI Actions(AI アクション)のプロジェクトの認識方法の改善
  • 複数行のコード補完
  • エディター内のコード生成
  • ユニットテストの生成
  • ドキュメントの生成
  • AI が提案したリファクタリングの Diff(差分)ビュー
  • カスタムプロンプトのライブラリを作成する機能

Rider の AI Assistant は JetBrains AI Service サブスクリプションをご利用の場合に追加機能として使用できます。

デモを見る

NET 8 SDK のサポート

.NET 8 SDK のサポート

Rider 2023.3 は以下の機能を含む .NET 8 SDK のサポートを正式に提供しています。

  • 最新のプロジェクトテンプレート。
  • 新しい SDK をターゲットにしたプロジェクトを作成、実行、デバッグする機能。
  • プライマリコンストラクター、インターセプター、あらゆる型を参照するエイリアスディレクティブを含む新しい C# 12 の機能。
  • 短縮表現によるラムダ式、ネストしたレコードの更新、static インターフェースメンバーと let バインドなどの F# 8 の機能のサポート。
  • @ 変数のサポート。
  • アイデンティティ API エンドポイント のサポート。

複数プロジェクトの実行

Rider 2023.3 ではタスクの実行順序や条件に対する高度な制御により、複数のプロジェクトを同時に実行してデバッグすることができます。

詳細は、Rider のドキュメントをご覧ください。

デモを見る

型依存関係ダイアグラム

Rider 2023.3 では型依存関係ダイアグラムを使用してソリューション内のさまざまなクラス、構造体、インターフェース、モジュール間の関連性と依存関係を調べることができます。

詳細は、Rider のドキュメントをご覧ください。

デモを見る

予測デバッグ

予測デバッグ

予測デバッグはコードを実行せずにコード内の潜在的な問題を予測してユーザーに警告する Rider の新しい高度なデバッグモードです。

詳細は、Rider のドキュメントをご覧ください。

デモを見る

ユニットテストの作成とナビゲーション

Rider を使って本番用コードのテストを簡単に作成し、ナビゲーションできるようになりました。このリリースでは AI Assistant を使ったテスト生成機能も導入されています。

詳細は、Rider のドキュメントをご覧ください。

デモを見る

C# のサポート

C#12 関連の更新

Rider の最新リリースでは C#12 の機能のサポート範囲が拡大され、プライマリコンストラクター、あらゆる型を参照するエイリアスディレクティブ、コレクション式、インターセプターなどが新たにサポートされています。

Rider および ReSharper 2023.3 で導入された C# サポートの最新の更新情報については、こちらのブログ記事をご覧ください。

デモを見る

Entity Framework 関連の問題を対象としたインスペクション

Rider 2023.3 では Entity Framework 関連コードで実行時例外を引き起こす可能性のあるメソッドの使用に対応した新しいインスペクションがいくつか導入されています。

新しいインスペクションに関する詳細は、こちらのブログ記事をご覧ください。

パフォーマンス

Rider 2023.3 ではコード解析サービスが入力によって中断された場合にコード解析を徐々に進められるシナリオをより多く認識して対応できるようになりました。この改善は大規模なファイルを処理する場合に特に有用です。

ソリューション全体のコード解析におけるリソースの割り当て

最新のアップデートではソリューション全体のコード解析に割り当てられるリソースの数を制御することもできます。リソース使用率を Low(低)、Moderate(中)、High(高)モードから選択できるようになりました。

High(高)モードはその名称にもかかわらず、エディターでの入力を妨げず、IDE の応答性が低下しないように設計されています。コード解析がコードの入力によって中断された後にのみ、スムーズな入力動作を維持しながら徐々に CPU の使用率を高め、その間にソリューション全体解析によるソースコードの処理をバックグラウンドで実行するようにしています。

その他のパフォーマンス強化

SomeType _field = new() など、多数のターゲット型付きオブジェクトの作成を含むソリューションで型とコンストラクターの使用箇所の検出が高速化されました。この改善により、リファクタリングの速度も改善されています。

また、CPU 使用率が上昇する原因となっていた注入言語の処理に伴ういくつかの問題も解決しました。

エディター

インレイヒントの UX 改善

インレイヒントの UX 改善

Rider 2023.3 では、インレイヒントを右クリックしてコンテキストメニューを開くことができます。また、Ctrl + クリックでインレイヒントから宣言に移動することもできます。

URL パス参照の自動コード補完

URL パス参照の自動コード補完

URL を処理するコード補完機能を改善しました。 URL パスが必要な場所に / を入力すると、IDE がコード補完ポップアップにサーバーエンドポイントの URL を自動的に入力するようになりました。これを実行する際には URL パスをより迅速に指定できるよう、アプリケーション内とアタッチされた OpenAPI 仕様内の両方で使用できる API が考慮されます。

UX/UI

デバッグの Resume(再開)ボタン

デバッグの Resume(再開)ボタン

以前お伝えしたとおり、メインツールバーの Run(実行)ボタンがデバッグ中に Resume(再開)ボタンになるように変更されました。

Save as Solution Filter(ソリューションフィルターとして保存)

Save as Solution Filter(ソリューションフィルターとして保存)

Rider 2023.3 ではソリューションフィルター(.slnf ファイル)を素早く簡単に作成できるようになります。ソリューションフィルターを使用することで、IDE の Project(プロジェクト)ビューが作業中の特定のコンテキストに合わせて調整されるため、大規模で複雑なプロジェクトの管理がより簡単になります。ソリューションフィルターを作成するには Solution Explorer(ソリューションエクスプローラー)でソリューションを右クリックし、Save as Solution Filter(ソリューションフィルターとして保存)を選択します。

メインツールバーを非表示にする

デフォルト表示モードのメインツールバーを非表示にするオプション

新しい UI に関するフィードバックに応え、以前の UI と同様に IDE のデフォルト表示モードを使用しているときにメインツールバーを非表示にするオプションを実装しました。

雑然としたワークスペースからツールバーを消すには、View(表示)| Appearance(外観)を選択して Toolbar(ツールバー)オプションをオフにします。

Speed Search(スピード検索)のショートカット

Speed Search(スピード検索)のショートカット

ツールウィンドウとダイアログ内を素早く移動できるようにする Speed Search(スピード検索)機能がショートカットで利用できるようになりました。ツリーまたはリストにフォーカスがある場合、macOS では ⌘+F、Windows または Linux では Ctrl+F を押してツールウィンドウの Options(オプション)メニューから簡単に検索を呼び出せます。または単にクエリを入力し始めても同じ動作を得られます。

macOS 用の新しい製品アイコン

macOS 用の新しい製品アイコン

Rider 2023.3 リリースでは、Rider アイコンの macOS 用のデザインをオペレーティングシステムの標準スタイルガイドに合わせて変更しました。

バージョン管理システム

GitLab スニペットのサポート

GitLab スニペットのサポート

Rider 2023.2 リリースで導入された GitLab 統合を拡張し、GitLab スニペットのサポートを追加しました。 IDE 内で公開または非公開のスニペットを直接作成できるようになっています。

新しいスニペットを作成するには、エディター(または Project(プロジェクト)ツールウィンドウのファイルまたはフォルダー)でコード箇所を選択し、それを右クリックしてコンテキストメニューを呼び出して Create Snippet(スニペットの作成)オプションを選択します。ダイアログが表示され、スニペットに関する一般的な情報の指定とプライバシー設定の定義が求められます。

オールインワンの差分ビューアー

Rider 2023.3 では変更のレビュー方法を一新しています。ファイルを 1 つずつ調査するのではなく、変更セットに含まれるすべての変更済みファイルを 1 つのスクロール可能なフレームで確認できるようになっています。この新しい差分ビューアーは GitLab、GitHub、JetBrains Space のレビューに対応しています。

デバッグ

Modules(モジュール)ビュー

新しい Modules(モジュール)ビューではアプリが使用するダイナミックリンクライブラリ(DLL)と実行可能ファイルを検査できます。このビューにはモジュール名、バージョン、アプリケーションドメイン、モジュールへのパス、モジュールシンボルへのパスなどの情報が表示されます。

Symbols(シンボル)列にはデバッガーが使用する特定のモジュールのシンボルがリスト表示されます。モジュールの行を右クリックして Load Symbols(シンボルを読み込む)を選択すると、モジュールシンボルを管理できます。

Docker コンテナー内のプロセスへのアタッチ

Docker コンテナー内のプロセスへのアタッチ

Rider 2023.3 からはデバッグ目的でコンテナー内のプロセスにアタッチできるようになっています。これを行うには、Attach to Process(プロセスにアタッチ)ダイアログを呼び出し、Docker タブに移動してターゲットコンテナーを選択します。この新しいオプションはローカル環境と SSH 構成で動作します。

ゲーム開発

Unity

UI Toolkit のサポート

UI Toolkit を使った作業の生産性が大幅にアップしました!

Find Usages(使用箇所の検索)で UXML ファイル内で使用されている UI 要素の場所を調べたり、Ctrl+ クリックで UXML 内の要素から C# コードに移動したりできます。さらに、Rider には C# クエリの UI 要素に対応したコード補完も備わっています。

このリリースでは最新の Unity 2022.3 LTS バージョンの .tss テーマファイルもサポートされており、すべての USS プロパティの最新の知識も含まれています。

シェーダーバリアントのサポート

シェーダーバリアントのサポート

新しいオプションのプレビュー機能では、シェーダーファイルを編集中にアクティブなキーワードを選択できます。これによって各種のプリプロセッサブロックが有効になるため、以前は無効だったファイルのコンポーネントで豊富な Rider の編集機能を使用できるようになります。

デバッガーの更新

新しいポップアップウィンドウにテクスチャを表示する機能が備わったことで、Unity のデバッグがはるかに有用になりました。中断ポイントをエディターのコンテキストメニューから簡単に追加できるようになっており、トレースポイントが Unity コンソールにも出力されるようになっています。また、Rider が Attach to Unity Process(Unity プロセスにアタッチ)ダイアログでマルチプレーヤーの仮想プレーヤーインスタンスを正しく表示するようになりました。

デモを見る

その他の更新

HLSL コードのセマンティクスの補完、パッケージ用のオンラインヘルプの URL 修正、特定の DOTS シナリオでの誤った警告など、多数の小さな修正や機能も盛り込まれています。変更ログ に完全な変更リストを確認できます。

Unreal Engine

解析で PCH ファイルを無視するオプション

解析で PCH ファイルを無視するオプション

重要な新機能により、Rider が明示的にインクルードされたファイルのシンボルのみを認識し、プリコンパイル済みヘッダー(PCH)ファイルがインポートしたものをすべて無視できるようになりました。これにより、CI ビルドサーバーの正確性を確保しながらローカルビルドで PCH ファイルを使用してコンパイル速度を改善できます。

小規模な更新

このリリースには、ファイル名がビルド出力でリンクとして解析されない、UE 5.3 の場所を特定できない、Linux 上のデバッガーで FString 型と TCHAR 型が誤って表示されるなどの問題に対する比較的小さな修正と更新もいくつか含まれています。

また、人気の Enhanced UE Documentation プラグインに関して、書式設定や標準のドキュメントツールチップが表示されなくなるなどのいくつかの問題を解決しています。

ウェブ開発

TypeScript 関連の改善

TypeScript 関連の改善

Rider 2023.3 では import type ステートメントを追加する際に発生する不快な矛盾に関する問題がいくつか解決され、verbatimModuleSyntax をより簡単に扱えるようになりました。型をインポートする際の TypeScript の型指定子または import type ステートメントの使用方法を構成するオプションを追加しました。また、TypeScript ファイル用の package.json の exports フィールドのサポートも追加しました。

Angular サポートの改善

Angular サポートの改善

Angular テンプレートにおける strictTemplate の型チェックのサポートを改善しました。また、signal、computed、effect のようなライブテンプレートを含む新しいバージョン 17 の制御フロー構文とシグナルもサポートしました。 Alt+Enter で使用できる新しいクイックフィックスもあります。たとえば、コンポーネントテンプレートから @Input プロパティと @Output プロパティを作成することが可能です。

HTTP クライアント

@ 変数のサポート

Rider 2023.3 は他の IDE で見つかった変数を定義するための @ シンボルをサポートします。

ウェブ開発に関する改善点の詳細は、こちらのページをご覧ください。

F# のサポート

F# 8 のサポート

F# 8 に含まれる言語機能のサポートを追加しました。ネストしたレコードの更新や短縮表現のラムダ式など、より新しい構文の使用を提案する新しいアナライザーとクイックフィックスが導入されています。

F# プロジェクトモデルの書き直し

ReSharper エンジンと F# コンパイラーサービスの間でのプロジェクトモデルの同期方法を書き直し、参照の欠落が原因で発生していた誤検出エラーや解析のフリーズの可能性などのいくつかの問題を修正しました。また、F# プロジェクトが C# プロジェクトを参照する多くのケースでの解析パフォーマンスも改善されています。

その他

皆さんから問題をご報告いただいたおかげで、既存のアナライザーやクイックフィックス、コード補完、その他の部分に小さな改善を導入することができました。 F# プラグインページの詳細なノート をお読みください。

フレームワークとテクノロジー

Central Package Management のコード補完

Central Package Management のコード補完

このリリースでは、NuGet パッケージの名前とバージョンに対応したコード補完機能によって CPM ファイルのサポートを強化しています。 CPM ファイルが .csproj ファイルと同じようにサポートされるようになっています。このような変更により、開発者がより素早く正確にパッケージ参照を管理できるようになっているはずです。比較的新しいこの機能をより明確に理解するには、Central Package Management に関するブログ記事をご覧ください。

ルートレスコンテナーのサポート

.NET ベースイメージに root 以外のユーザーが含まれるようになりました。 .NET 8 をターゲットとするプロジェクトの場合、Rider 2023.3 はこのユーザーをデフォルトで使って Dockerfile を生成します。 Debug(デバッグ)と Fast mode(Fast モード)もサポートされています。

Bicep のサポート

Azure 向けに特化されたインフラストラクチャ as コード言語 Bicep の初期サポートを導入しました。この言語は Azure Resource Manager(ARM)テンプレートに解釈されるもので、Azure サービスとの緊密な統合を目的としています。 IDE が Bicep の言語サーバープロトコルを通じて提供されるコード補完と共にコードハイライトを提供するようになりました。

データベース操作

以下はデータベース操作に関する Rider 2023.3 の最も重要な改善点の一部です。

  • インポート機能の改良
  • BCP によるテーブルのインポート/エクスポートのサポート SQL Server
  • 新しいオブジェクトのサポート SQL Server

データべース操作に関する改善点の詳細は、このページを参照してください。

プラグイン

Dynamic Program Analysis

ASP.NET Core の新しいインスペクション

ASP.NET Core の新しいインスペクション

Dynamic Program Analysis(動的プログラム解析)に ASP.NET Core フレームワークをターゲットとするアプリケーション用のインスペクションが新たに 3 つ追加されました。これらのインスペクションは、アプリケーションの応答性を低下させる可能性のあるバックエンドの潜在的なパフォーマンスの問題を警告します。

詳細は、こちらのブログ記事をご覧ください。

dotTrace dotUltimate

構成の改善

Timeline(タイムライン)プロファイリングモードの構成の改善

このリリースでは Rider に組み込まれている dotTrace プロファイラーを使用する際の Timeline(タイムライン)プロファイリングモードに高度なオプションが導入されています。新しいオプションは以下のとおりです。

  • Sampling rate(サンプリングレート)- プロファイリング対象のアプリケーションのパフォーマンスとデータ精度の最適なバランスを見つけられます。高速サンプリングモードもサポートされるようになりました。
  • ネイティブ割り当ての Sample allocations every ... KB(...KB ごとのサンプル割り当て)- 収集されるデータの量(スナップショットのサイズ)を減らすことで、スナップショット解析のパフォーマンスを改善するのに役立ちます。
  • ネイティブシンボルファイルの Download in background(バックグラウンドでダウンロード)- プロファイリングセッション中にシンボルファイルをダウンロードしてスナップショットの取得にかかる時間を短縮します。

dotMemory dotUltimate

  • Linux 上で動作するプロファイラーにプロセスダンプをインポートして解析できるようになりました。
  • Linux と macOS オペレーティングシステムで、スタンドアロンバージョンの dotMemory を実行できるようになりました。

Entity Framework Core の UI

Entity Framework Core コマンドの UI を JetBrains Rider 内で使用できるようになりました。以下はバンドルプラグインが支援できる一部のコマンドです。

  • 移行の作成
  • 移行名の自動補完を含む、選択された移行によるデータベースの更新
  • 既存データベースからの DbContext スキャフォールディングの作成
  • 移行範囲からの SQL スクリプトの作成

その他

脆弱性のある API の使用箇所を特定する新しいインスペクション

脆弱性のある API 使用箇所を特定する新しいインスペクション セキュリティ

Rider 2023.3 には公開されている脆弱性をよりはっきりと分かりやすくするように設計された新しいセキュリティインスペクションが導入されています。

この新しいインスペクションはプロジェクトに含まれる脆弱性のある NuGet パッケージを特定し、このようなライブラリの脆弱性のあるメソッドがコードに使用されている箇所をハイライトします。脆弱性が検出されると、システムは問題のあるコードをハイライトし、それを修正するためのクイックアクションを提供します。このようなアクションには、より新しいパッケージバージョンへのアップデートの推奨や検出された脆弱性に関する詳細な情報の提供などがあります。