2022.1 では品質に焦点を当て、特に Blazor 開発と C# サポートに関する多数の改善とバグ修正を行っています。
無料 30 日間体験版をご利用可能です
We continue to improve support for C# 10, particularly global usings. このリリースでは、コンテキストアクションとしても使用できる新しい 2 つのリファクタリングを導入しました。
Extract Global Using(Global Using の抽出)は、プロジェクトに global using の概念を導入する上で役立ちます。 このリファクタリングを通常の using
ディレクティブに対して呼び出すと、ReSharper がそのディレクティブを指定の GlobalUsings.cs
ファイルへの抽出を提案します(このファイルがまだプロジェクトに存在しない場合は作成されます)。 不要になった通常の using
は、プロジェクトのファイルから除去されます。
global using
を通常の using
にリファクタリングする場合は、Inline Global Using(Global Using のインライン化)リファクタリングも役立ちます。 このリファクタリングを global using
に対して呼び出すと、GlobalUsings.cs
から global using が除去され、必要に応じて対応する using
ステートメントがプロジェクトのファイルに追加されます。
global using 機能は、Find Usages(使用箇所の検索)と拡張メソッドのコード解析でサポートされています。
We’ve looked into the approaching C# 11 and supported generic attributes.
[MemberNotNull]
および [MemberNotNullWhen]
アノテーションが、null 許容参照型を使用しないプロジェクトでサポートされるようになりました。 ASP.NET Core 6 の Minimal API と規則ベースのルーティングでエンドポイントがサポートされるようになりました。 サポート対象には、ナビゲーション、コード解析、およびコード補完が含まれます。
Razor と Blazor には、以下の最も重要な機能と修正が追加されています。
[EditorRequired]
属性をサポートしました。 Blazor コンポーネントを参照しようとする場合は、必要なパラメーターを指定せずに対応するインスペクションとクイックフィックスを使用することもできます。 .razor
ファイルでのコードクリーンアップを改善しました。 すべての @using
宣言が除去されなくなりました。 Alt+Enter メニューで、Code Cleanup(コードのクリーンアップ)とFormatting(整形)に関連するすべての項目を整理しました。 Format selection(選択範囲の整形)、Cleanup selection(選択範囲のクリーンアップ)、および Apply syntax style(構文スタイルの適用)が 1 つの Reformat and Cleanup(整形とクリーンアップ)項目に統合され、1 つのエントリポイントでアクセスできるようになりました。
これらの変更のほか、構文スタイルの設定が Configure code style(コードスタイルの構成)および Autodetect code style settings(コードスタイル設定の自動検出)アクションで使用できるようになっています。 Preview code style(コードスタイルのプレビュー)パネルには、構文スタイルの変更も表示されます。
The Unreal Engine testing framework is now supported. ReSharper C++ が Unreal Engine のユニットテストを検出すると、テストまたはテストスイート全体を実行またはデバッグするための対応するアクションのインジケーターがエディターの各テストの横に追加されます。 Unit Test Sessions(ユニットテストセッション)ウィンドウでテストの結果をレビューし、失敗したテスト、すべてのテスト、または特定のテストを再実行できます。
ReSharper C ++ では暗黙的なコンストラクター呼び出しの処理が改善され、次を含むさらに多くのケースで使用箇所を検索して呼び出し先のコンストラクターに移動できるようになりました。
make_unique/make_shared
)と Unreal 固有(MakeShared/MakeUnique
)のスマートポインター作成関数 emplace
のようなコンテナーメソッドstatic_cast
と C 形式のキャスト式 ReSharper C++ 2022.1 は、emplace
のような関数が不正な引数を指定して呼び出された場合にもオーバーロードの警告を表示します。
ソースジェネレーターのサポートのパフォーマンスを解析した結果、ソースが生成したドキュメントをコンパイラーから取得する際にリクエスト間の遅延を増やすことにしました。
そのため、ソースジェネレーターはコンパイラーと CPU ワークの合計量が減少するまで実行されません。 実際にどの程度のパフォーマンス改善が期待できるかは、Visual Studio の完全行補完などの他の機能もジェネレーターをトリガーしているかどうかによって変わります。
We’ve fixed a number of performance issues already and laid the groundwork for more. これには、お客様から提供されたパフォーマンススナップショットの処理、社内でのプロファイリング作業、およびデータ収集が含まれます。今後、パフォーマンス低下を自動チェックする仕組みを導入できることを願っています。
「外部プロセス」モードの作業は現在進行中です。 Please refer to the newest update in our issue tracker.
InspectCode ツールは、Static Analysis Results Interchange Format(SARIF)互換の出力ファイルを生成できます。
コマンドラインツールで Alpine Linux がサポートされるようになりました。
System.Private.CoreLib
のような XML ドキュメントファイルと名前が異なるアセンブリなど、プラットフォームアセンブリの XML ドキュメントコメントが表示されるようになりました。 XML ドキュメントのパスは、デコンパイルされたファイルのヘッダーに表示されるようになっています。 [TypeForwardedTo]
属性)をサポートするようになりました。 Locate in Metadata(メタデータ内で検索)アクションも転送された型、アセンブリとモジュール参照、およびリソースに対応しています。 Windows(.NET Core、.NET 5 以上)、macOS、および Linux(.NET Core 3.0 以上、.NET 5 以上)の dotTrace で Microsoft.Data.SqlClient
プロバイダーからの SQL Server イベントをサポートするようになりました。
専用のアイコンをアプリケーションウィンドウにドラッグするだけで、実行中のアプリケーションにプロファイラーを接続できるようになりました。
コメントを使用して、コードの特定の行またはブロックをカバレッジ解析から除外できるようになりました。 次のように、除外方法にはいくつかのオプションがあります。
// dotcover disable
var i = 1;
var j = 10;
// dotcover enable
/* dotcover disable */ var i = 1; /* dotcover enable */
var i = 1; // dotCover disable this line
// dotcover disable next line
var j = 100;
これらのオプションが機能するには、JetBrains.dotCover.MSBuild NuGet
パッケージを参照する必要があります。 この依存関係は開発時にのみ必要であるため、ランタイム依存関係としてプロジェクトに含まれることはありません。
.sqlproj
ファイルを扱う際に ReSharper の機能を妨げていた問題を解消しました。 無料 30 日間体験版をご利用可能です