次の方法で共有


.NET のライブ コード分析を構成する

Visual Studio では、エディターでソース ファイルを編集しているときに、いくつかの方法でコードが分析されます。 この分析は バックグラウンド分析と呼ばれます。 これらの分析は、機能に基づいて次のように分類できます。

  • 診断のバックグラウンド計算: この種類の分析では、ソース ファイル内のエラー、警告、および提案が計算されます。 これらの診断は、[ エラー一覧 ] ウィンドウにエントリとして表示され、コード エディターで波線でマークされます。 これらは、次のカテゴリに分類できます。

    • C# と Visual Basic コンパイラの診断
    • Roslyn アナライザーの診断には、次のものが含まれます。
      • コードスタイルの提案のための組み込みの IDE アナライザー
      • コード品質の提案のための組み込みの CA アナライザー
      • 現在のソリューションのプロジェクト用にインストールされている外部アナライザー パッケージ
  • その他の背景分析: この種類の分析により、IDE 機能の応答性と Visual Studio の相互作用が向上します。 分析の例を次に示します。

    • 開いているファイルのバックグラウンド解析
    • IDE 機能の応答性を向上させるシンボルを実現するために開いているファイルを含むプロジェクトのバックグラウンド コンパイル
    • 構文とシンボル キャッシュの構築
    • フォームやコントロールなどのソース ファイルに対するデザイナーの関連付けを検出する

既定の分析スコープ

既定では、コンパイラ診断は開いているすべてのドキュメントで実行されます。 Visual Studio 2022 以降では、Roslyn アナライザー診断は現在アクティブなドキュメントでのみ実行されます。 その他のバックグラウンド分析は、少なくとも 1 つのファイルが開いているすべてのプロジェクトに対して実行されます。 一部のバックグラウンド分析は、ソリューション全体に対して実行されます。

カスタム分析スコープ

各バックグラウンド分析の既定のスコープは、ほとんどの顧客シナリオとソリューションに最適なユーザー エクスペリエンス、機能、パフォーマンスに合わせて調整されます。 ただし、バックグラウンド分析を減らしたり増やしたりするために、このスコープをカスタマイズしたい場合があります。 例えば次が挙げられます。

  • 省電力モード

    ノート PC のバッテリーで動作している場合は、バッテリ寿命を長くするために消費電力を最小限に抑えることができます。 このシナリオでは、バックグラウンド分析を最小限に抑えます。

  • オンデマンド コード分析

    ライブ アナライザーの実行を無効にし、必要に応じてコード分析を手動で実行する場合は、バックグラウンド分析を最小限に抑える必要があります。 詳細については、「 .NET のコード分析を手動で実行する」を参照してください。

  • 完全なソリューション分析

    エディターで開いているかどうかに関係なく、ソリューション内のすべてのファイルのすべての診断を表示する場合は、ソリューション全体のバックグラウンド分析スコープを最大化できます。

Visual Studio 2019 以降では、C# および Visual Basic プロジェクトの診断計算を含むすべてのライブ コード分析のスコープを明示的にカスタマイズできます。 使用可能な分析スコープは次のとおりです。

Scope Description
なし すべてのアナライザーと対応するコード修正は無効になります。

コンパイラ診断と対応するコード修正は、 開いているすべての ドキュメントで有効になります。
現在のドキュメント (既定) すべてのアナライザーは、現在アクティブなドキュメントでのみ実行されます。

いているすべての ドキュメントでコンパイラ診断が有効になります。
ドキュメントを開く すべてのアナライザーとコンパイラ診断は、 開いているすべての ドキュメントで有効になります。
ソリューション全体 すべてのアナライザーとコンパイラ診断は、開いているか閉じているかに関係なく、ソリューション 内のすべての ドキュメントで有効になります。
  • 現在のドキュメント: エディター内の現在のファイルまたは表示されているファイルに対してのみ実行されるように、ライブ コード分析スコープを最小化します。
  • ドキュメントを開く: ライブ コード分析スコープには、開いているすべてのドキュメントが含まれます。 この設定が既定です。
  • ソリューション全体: ソリューション全体のすべてのファイルとプロジェクトに対して実行するライブ コード分析スコープを最大化します。

次の手順に従って、[ オプション] でカスタム分析スコープのいずれかを選択できます。

  1. [オプション] ダイアログ ボックスを開くには、Visual Studio のメニュー バーで [ツール>オプション] を選択します。

  2. [ オプション ] ダイアログ ボックスで、[ テキスト エディター>C# (または Visual Basic) >Advanced を選択します。

  1. [バックグラウンド コード分析の実行] ドロップダウン リストから バックグラウンド分析 スコープを選択して、分析スコープをカスタマイズします。 完了したら 、[OK] を選択します

    Visual Studio のバックグラウンド コード分析スコープ オプションを示すスクリーンショット。

  1. [バックグラウンド分析スコープ:] で 背景分析スコープを選択します。 完了したら 、[OK] を選択します

    Visual Studio のバックグラウンド コード分析スコープ オプションを示すスクリーンショット。

Visual Studio 2019 より前のバージョンでは、Tools>>> (または Visual Basic) > タブの [ソリューション全体の分析を有効にする] チェック ボックスを使用して、診断計算の分析範囲をソリューション全体に合わせてカスタマイズしました。以前のバージョンの Visual Studio では、バックグラウンド分析スコープを最小限に抑えるサポートはありません。

ライブ コード分析スコープを自動的に最小化する

Visual Studio で 200 MB 以下のシステム メモリが使用可能であることが検出されると、 現在のドキュメントに対するライブ コード分析スコープが自動的に最小化されます。 このような状況が発生すると、Visual Studio で一部の機能が無効になっていることを通知するアラートが表示されます。 詳細については、「 自動機能中断」を参照してください。

Visual Studio によって分析スコープが最小限に抑えられるというアラート警告を示すスクリーンショット。