.NET コンパイラ プラットフォーム (Roslyn) アナライザーは、スタイル、品質、保守容易性、設計、およびその他の問題について C# または Visual Basic コードを検査します。 この検査または分析は、開いているすべてのファイルのデザイン時に発生します。
アナライザーは、次のグループに分かれています。
-
これらのアナライザーは Visual Studio に組み込まれています。 アナライザーの診断 ID またはコード形式は IDExxxx です (たとえば、IDE0001)。 ユーザー設定は、 テキスト エディターのオプション ページ または EditorConfig ファイルで構成できます。 .NET 5.0 以降、コード スタイル アナライザーは .NET SDK に含まれており、ビルドの警告またはエラーとして厳密に適用できます。 詳細については、「 .NET ソース コード分析の概要」を参照してください。
-
これらのアナライザーは .NET 5.0 以降の SDK に含まれており、既定で有効になっています。 アナライザーの診断 ID またはコード形式は CAxxxx (CA1822 など) です。 詳細については、「 .NET コード品質分析の概要」を参照してください。
外部アナライザー
外部アナライザーの例としては、 StyleCop、 Roslynator、 xUnit アナライザー、 Sonar Analyzer があります。 これらのアナライザーは、NuGet パッケージまたは Visual Studio 拡張機能としてインストールできます。
アナライザーの深刻度レベル
各 Roslyn アナライザー ルール ( 診断) には、プロジェクト用にカスタマイズできる既定の重大度と抑制状態があります。
重大度レベルには、エラー、警告、提案、サイレント、なし、および既定値が含まれます。 詳細と動作については、「 重大度レベルの構成」を参照してください。
規則違反
アナライザーは、アナライザーの規則違反を検出した場合、 エラー一覧 ウィンドウとコード エディターで報告します。
次のスクリーンショットは、[ エラー一覧] ウィンドウで報告された規則違反を示しています。 エラー一覧で報告されるアナライザー違反は、ルールの 重大度レベルの設定 と一致します。
アナライザーの規則違反は、問題のあるコードの下の波線としてコード エディターにも表示されます。 たとえば、次のスクリーンショットは、1 つのエラー (赤い波線)、1 つの警告 (緑の波線)、1 つの提案 (3 つの灰色の点) の 3 つの違反を示しています。
コード修正
多くの診断には、規則違反を修正するために適用できる 1 つ以上の コード修正 が関連付けられています。 コード修正は、電球アイコン メニューと他の種類の クイック アクションに表示されます。 コード修正の詳細については、「 一般的なクイック アクション」を参照してください。
アナライザーの重大度レベルを構成する
EditorConfig ファイルまたは電球メニューからアナライザー ルールの重大度を構成できます。
また、ビルド時および入力時にコードを検査するようにアナライザーを構成することもできます。 現在のドキュメント、開いているすべてのドキュメント、またはソリューション全体に対してのみ実行されるように、ライブ コード分析のスコープを構成できます。 詳細については、「 .NET のライブ コード分析を構成する」を参照してください。
ヒント
コード アナライザーからのビルド時エラーと警告は、アナライザーが NuGet パッケージとしてインストールされている場合にのみ表示されます。 組み込みのアナライザー (IDE0067やIDE0068など) はビルド中に実行されません。
外部コード アナライザーをインストールする
Visual Studio には、常にアクティブな Roslyn アナライザーのコア セットが含まれています。 さらに多くのコード アナライザーが必要な場合は、NuGet パッケージを使用して、すべてのプロジェクトの外部アナライザーをインストールできます。 一部のアナライザーは Visual Studio .vsix 拡張機能としても使用できます。この場合、Visual Studio で開くソリューションに適用されます。 これら 2 種類のアナライザーのインストールについては、「 コード アナライザーのインストール」を参照してください。
範囲
推奨される方法である NuGet パッケージとしてアナライザーをインストールする場合は、NuGet パッケージがインストールされているプロジェクトにのみ適用されます。 それ以外の場合、Visual Studio 拡張機能としてアナライザーをインストールすると、ソリューション レベルおよび Visual Studio のすべてのインスタンスに適用されます。 チーム環境では、NuGet パッケージとしてインストールするアナライザーは、そのプロジェクトで作業するすべての開発者のスコープ内にあります。
注
ファースト パーティ アナライザーは、.NET SDK 内に付属しています。 これらのアナライザーは、 Microsoft.CodeAnalysis.NetAnalyzers
NuGet パッケージとしてインストールするのではなく、.NET SDK から有効にすることをお勧めします。 .NET SDK からアナライザーを有効にすると、SDK を更新するとすぐに、アナライザーのバグ修正と新しいアナライザーが自動的に取得されます。 アナライザーの詳細については、「 ファースト パーティの .NET アナライザーを有効またはインストールする」を参照してください。
ビルド エラー
ビルド時に規則を適用するには、コマンド ライン ビルドまたは継続的インテグレーション (CI) ビルドを使用して、次のいずれかのオプションを選択します。
.NET 5.0 以降のプロジェクトを作成します。これにより、既定でコード分析が可能になります。 以前の .NET バージョンを対象とするプロジェクトでコード分析を有効にするには、 EnableNETAnalyzers プロパティを
true
に設定します。アナライザーを NuGet パッケージとしてインストールします。 アナライザーを Visual Studio 拡張機能としてインストールした場合、アナライザーの警告とエラーはビルド レポートに表示されません。
次のスクリーンショットは、アナライザーの規則違反を含むプロジェクトをビルドした場合のコマンド ライン ビルドの出力を示しています。
ルールの重要度
アナライザー ルールの重大度を構成する場合は、アナライザーを NuGet パッケージとしてインストールする必要があります。 Visual Studio 拡張機能としてインストールされたアナライザーからルールの重要度を構成することはできません。
次のステップ
関連コンテンツ
- Visual Studio でのコード分析に関する FAQ
- Roslyn アナライザー
- .NET コンパイラ プラットフォーム SDK の