Rider 2023.3 は C# 12 の最新機能を含め、.NET 8 SDK のサポートを提供しています。 このアップデートでは複数のプロジェクトを実行する際のエクスペリエンスの改善、予測デバッグモード、ユニットテストの作成と移動操作を簡単に行う機能も追加されています。 Rider 2023.3 リリースでは AI Assistant への大規模な更新による強化も行われています。
JetBrains IDE の生産性を向上させる多数の新機能と改善が盛り込まれた JetBrains AI Assistant が一般公開されました。 Rider で行われた最新の改善には以下のようなものがあります。
Rider の AI Assistant は JetBrains AI Service サブスクリプションをご利用の場合に追加機能として使用できます。
Rider 2023.3 は以下の機能を含む .NET 8 SDK のサポートを正式に提供しています。
@
変数のサポート。Rider 2023.3 では Entity Framework 関連コードで実行時例外を引き起こす可能性のあるメソッドの使用に対応した新しいインスペクションがいくつか導入されています。
新しいインスペクションに関する詳細は、こちらのブログ記事をご覧ください。
Rider 2023.3 ではコード解析サービスが入力によって中断された場合にコード解析を徐々に進められるシナリオをより多く認識して対応できるようになりました。 この改善は大規模なファイルを処理する場合に特に有用です。
最新のアップデートではソリューション全体のコード解析に割り当てられるリソースの数を制御することもできます。 リソース使用率を Low(低)、Moderate(中)、High(高)モードから選択できるようになりました。
High(高)モードはその名称にもかかわらず、エディターでの入力を妨げず、IDE の応答性が低下しないように設計されています。 コード解析がコードの入力によって中断された後にのみ、スムーズな入力動作を維持しながら徐々に CPU の使用率を高め、その間にソリューション全体解析によるソースコードの処理をバックグラウンドで実行するようにしています。
SomeType _field = new()
など、多数のターゲット型付きオブジェクトの作成を含むソリューションで型とコンストラクターの使用箇所の検出が高速化されました。 この改善により、リファクタリングの速度も改善されています。
また、CPU 使用率が上昇する原因となっていた注入言語の処理に伴ういくつかの問題も解決しました。
Rider 2023.3 では、インレイヒントを右クリックしてコンテキストメニューを開くことができます。 また、Ctrl + クリックでインレイヒントから宣言に移動することもできます。
URL を処理するコード補完機能を改善しました。 URL パスが必要な場所に /
を入力すると、IDE がコード補完ポップアップにサーバーエンドポイントの URL を自動的に入力するようになりました。 これを実行する際には URL パスをより迅速に指定できるよう、アプリケーション内とアタッチされた OpenAPI 仕様内の両方で使用できる API が考慮されます。
以前お伝えしたとおり、メインツールバーの Run(実行)ボタンがデバッグ中に Resume(再開)ボタンになるように変更されました。
Rider 2023.3 ではソリューションフィルター(.slnf
ファイル)を素早く簡単に作成できるようになります。 ソリューションフィルターを使用することで、IDE の Project(プロジェクト)ビューが作業中の特定のコンテキストに合わせて調整されるため、大規模で複雑なプロジェクトの管理がより簡単になります。 ソリューションフィルターを作成するには Solution Explorer(ソリューションエクスプローラー)でソリューションを右クリックし、Save as Solution Filter(ソリューションフィルターとして保存)を選択します。
新しい UI に関するフィードバックに応え、以前の UI と同様に IDE のデフォルト表示モードを使用しているときにメインツールバーを非表示にするオプションを実装しました。
雑然としたワークスペースからツールバーを消すには、View(表示)| Appearance(外観)を選択して Toolbar(ツールバー)オプションをオフにします。
ツールウィンドウとダイアログ内を素早く移動できるようにする Speed Search(スピード検索)機能がショートカットで利用できるようになりました。 ツリーまたはリストにフォーカスがある場合、macOS では ⌘+F、Windows または Linux では Ctrl+F を押してツールウィンドウの Options(オプション)メニューから簡単に検索を呼び出せます。または単にクエリを入力し始めても同じ動作を得られます。
Rider 2023.3 リリースでは、Rider アイコンの macOS 用のデザインをオペレーティングシステムの標準スタイルガイドに合わせて変更しました。
Rider 2023.2 リリースで導入された GitLab 統合を拡張し、GitLab スニペットのサポートを追加しました。 IDE 内で公開または非公開のスニペットを直接作成できるようになっています。
新しいスニペットを作成するには、エディター(または Project(プロジェクト)ツールウィンドウのファイルまたはフォルダー)でコード箇所を選択し、それを右クリックしてコンテキストメニューを呼び出して Create Snippet(スニペットの作成)オプションを選択します。 ダイアログが表示され、スニペットに関する一般的な情報の指定とプライバシー設定の定義が求められます。
新しい Modules(モジュール)ビューではアプリが使用するダイナミックリンクライブラリ(DLL)と実行可能ファイルを検査できます。 このビューにはモジュール名、バージョン、アプリケーションドメイン、モジュールへのパス、モジュールシンボルへのパスなどの情報が表示されます。
Symbols(シンボル)列にはデバッガーが使用する特定のモジュールのシンボルがリスト表示されます。 モジュールの行を右クリックして Load Symbols(シンボルを読み込む)を選択すると、モジュールシンボルを管理できます。
Rider 2023.3 からはデバッグ目的でコンテナー内のプロセスにアタッチできるようになっています。 これを行うには、Attach to Process(プロセスにアタッチ)ダイアログを呼び出し、Docker タブに移動してターゲットコンテナーを選択します。 この新しいオプションはローカル環境と SSH 構成で動作します。
UI Toolkit を使った作業の生産性が大幅にアップしました!
Find Usages(使用箇所の検索)で UXML ファイル内で使用されている UI 要素の場所を調べたり、Ctrl+ クリックで UXML 内の要素から C# コードに移動したりできます。 さらに、Rider には C# クエリの UI 要素に対応したコード補完も備わっています。
このリリースでは最新の Unity 2022.3 LTS バージョンの .tss
テーマファイルもサポートされており、すべての USS プロパティの最新の知識も含まれています。
新しいオプションのプレビュー機能では、シェーダーファイルを編集中にアクティブなキーワードを選択できます。 これによって各種のプリプロセッサブロックが有効になるため、以前は無効だったファイルのコンポーネントで豊富な Rider の編集機能を使用できるようになります。
HLSL コードのセマンティクスの補完、パッケージ用のオンラインヘルプの URL 修正、特定の DOTS シナリオでの誤った警告など、多数の小さな修正や機能も盛り込まれています。 You can see the full list of changes in the changelog.
重要な新機能により、Rider が明示的にインクルードされたファイルのシンボルのみを認識し、プリコンパイル済みヘッダー(PCH)ファイルがインポートしたものをすべて無視できるようになりました。 これにより、CI ビルドサーバーの正確性を確保しながらローカルビルドで PCH ファイルを使用してコンパイル速度を改善できます。
このリリースには、ファイル名がビルド出力でリンクとして解析されない、UE 5.3 の場所を特定できない、Linux 上のデバッガーで FString
型と TCHAR
型が誤って表示されるなどの問題に対する比較的小さな修正と更新もいくつか含まれています。
また、人気の Enhanced UE Documentation プラグインに関して、書式設定や標準のドキュメントツールチップが表示されなくなるなどのいくつかの問題を解決しています。
Rider 2023.3 では import type
ステートメントを追加する際に発生する不快な矛盾に関する問題がいくつか解決され、verbatimModuleSyntax
をより簡単に扱えるようになりました。 型をインポートする際の TypeScript の型指定子または import type ステートメントの使用方法を構成するオプションを追加しました。 また、TypeScript ファイル用の package.json の exports
フィールドのサポートも追加しました。
Angular テンプレートにおける strictTemplate
の型チェックのサポートを改善しました。 また、signal
、computed
、effect
のようなライブテンプレートを含む新しいバージョン 17 の制御フロー構文とシグナルもサポートしました。 Alt+Enter で使用できる新しいクイックフィックスもあります。 たとえば、コンポーネントテンプレートから @Input
プロパティと @Output
プロパティを作成することが可能です。
@
変数のサポート Rider 2023.3 は他の IDE で見つかった変数を定義するための @
シンボルをサポートします。
ウェブ開発に関する改善点の詳細は、こちらのページをご覧ください。
F# 8 に含まれる言語機能のサポートを追加しました。 ネストしたレコードの更新や短縮表現のラムダ式など、より新しい構文の使用を提案する新しいアナライザーとクイックフィックスが導入されています。
ReSharper エンジンと F# コンパイラーサービスの間でのプロジェクトモデルの同期方法を書き直し、参照の欠落が原因で発生していた誤検出エラーや解析のフリーズの可能性などのいくつかの問題を修正しました。 また、F# プロジェクトが C# プロジェクトを参照する多くのケースでの解析パフォーマンスも改善されています。
皆さんから問題をご報告いただいたおかげで、既存のアナライザーやクイックフィックス、コード補完、その他の部分に小さな改善を導入することができました。 Read the full notes on the F# plugin page.
このリリースでは、NuGet パッケージの名前とバージョンに対応したコード補完機能によって CPM ファイルのサポートを強化しています。 CPM ファイルが .csproj
ファイルと同じようにサポートされるようになっています。 このような変更により、開発者がより素早く正確にパッケージ参照を管理できるようになっているはずです。 比較的新しいこの機能をより明確に理解するには、Central Package Management に関するブログ記事をご覧ください。
.NET ベースイメージに root 以外のユーザーが含まれるようになりました。 .NET 8 をターゲットとするプロジェクトの場合、Rider 2023.3 はこのユーザーをデフォルトで使って Dockerfile を生成します。 Debug(デバッグ)と Fast mode(Fast モード)もサポートされています。
We’ve introduced initial support for Bicep, an Infrastructure as Code language tailored to Azure. この言語は Azure Resource Manager(ARM)テンプレートに解釈されるもので、Azure サービスとの緊密な統合を目的としています。 IDE が Bicep の言語サーバープロトコルを通じて提供されるコード補完と共にコードハイライトを提供するようになりました。
以下はデータベース操作に関する Rider 2023.3 の最も重要な改善点の一部です。
データべース操作に関する改善点の詳細は、このページを参照してください。
Dynamic Program Analysis(動的プログラム解析)に ASP.NET Core フレームワークをターゲットとするアプリケーション用のインスペクションが新たに 3 つ追加されました。 これらのインスペクションは、アプリケーションの応答性を低下させる可能性のあるバックエンドの潜在的なパフォーマンスの問題を警告します。
詳細は、こちらのブログ記事をご覧ください。
このリリースでは Rider に組み込まれている dotTrace プロファイラーを使用する際の Timeline(タイムライン)プロファイリングモードに高度なオプションが導入されています。 新しいオプションは以下のとおりです。
Entity Framework Core コマンドの UI を JetBrains Rider 内で使用できるようになりました。 以下はバンドルプラグインが支援できる一部のコマンドです。
Rider 2023.3 には公開されている脆弱性をよりはっきりと分かりやすくするように設計された新しいセキュリティインスペクションが導入されています。
この新しいインスペクションはプロジェクトに含まれる脆弱性のある NuGet パッケージを特定し、このようなライブラリの脆弱性のあるメソッドがコードに使用されている箇所をハイライトします。 脆弱性が検出されると、システムは問題のあるコードをハイライトし、それを修正するためのクイックアクションを提供します。 このようなアクションには、より新しいパッケージバージョンへのアップデートの推奨や検出された脆弱性に関する詳細な情報の提供などがあります。