設定 .NET 的即時程式碼分析
在編輯器編輯來源檔案時,Visual Studio 會以數種方式分析程式碼。 此分析稱為背景分析。 這些分析可根據功能依下列方式分組:
診斷的背景計算:此類型分析會計算來源檔案的錯誤、警告和建議。 這些診斷會顯示為 [錯誤清單] 視窗的項目,且在程式碼編輯器以波形曲線標示。 其可分類為下列類別:
- C# 和 Visual Basic 編譯器診斷
- Roslyn 分析器診斷,其中包括:
- 程式碼樣式建議的內建 IDE 分析器
- 程式碼品質建議的內建 CA 分析器
- 外部分析器套件:已安裝至目前解決方案的專案
其他背景分析:此類型分析會改善整合式開發環境 (IDE) 功能的回應能力和 Visual Studio 互動。 範例分析包括:
- 開啟檔案的背景剖析
- 使用開啟的檔案對專案進行背景編譯以實作符號,進而提高整合式開發環境 (IDE) 功能的回應能力
- 建置語法和符號快取
- 偵測來源檔案的設計工具關聯,例如表單和控制項
預設分析範圍
編譯程式診斷預設會在所有開啟文件執行。 在 Visual Studio 2022 與更高版本,Roslyn 分析器診斷只會在目前使用中文件執行。 其他背景分析會針對至少有一個開啟檔案的所有專案執行。 針對整個解決方案執行部分背景分析。
自訂分析範圍
每個背景分析的預設範圍已針對大部分客戶案例和解決方案,就最佳使用者體驗、功能和效能進行調整。 不過,在某些情況下,客戶可能會想要自訂此範圍來減少或增加背景分析。 例如:
省電模式
如果膝上型電腦正使用電池運作,您可能想要將耗電量降至最低,以延長電池使用時間。 在此案例,您會想要將背景分析降到最低。
隨選程式碼分析
如果想要視需要關閉即時分析器執行並手動執行程式碼分析,您會想要將背景分析降到最低。 如需詳細資訊,請參閱<手動執行 .NET 程式碼分析>。
完整解決方案分析
無論編輯器中是否有開啟檔案,您都可能會想要查看解決方案中所有檔案的所有診斷,可以最大化背景分析範圍至整個解決方案。
從 Visual Studio 2019 開始,您可以針對 C# 和 Visual Basic 專案明確自訂所有即時程式碼分析的範圍,包括診斷計算。 可用的分析範圍包括:
影響範圍 | 描述 |
---|---|
None | 所有分析器和對應的程式碼修正都會停用。 編譯器診斷和對應的程式碼修正會在所有開啟的文件上啟用。 |
目前文件 (預設) | 所有分析器只會在目前使用中文件上執行。 編譯器診斷會在所有開啟的文件上啟用。 |
開啟的文件 | 所有分析器和編譯器診斷會在所有開啟的文件上啟用。 |
整個解決方案 | 不論開啟還是關閉,所有分析器和編譯器診斷都會在解決方案中的所有文件上啟用。 |
- 目前文件:將即時程式碼分析範圍最小化,只針對編輯器中的目前或可見檔案執行。
- 開啟的文件: 即時程式碼分析範圍包含所有開啟的文件。 此設定是預設值。
- 整個解決方案: 最大化即時程式碼分析範圍,以針對整個解決方案中的所有檔案和專案執行。
可以遵循下列步驟,在 [選項] 中選擇其中一個自訂分析範圍:
若要開啟 [選項] 對話方塊,請從功能表列中選擇 [工具]>[選項]。
在 [選項] 對話方塊中,選擇 [文字編輯器]>[C#] (或 [程式碼樣式]) >[進階]。
從 [針對以下內容執行背景程式碼分析:] 下拉式清單選取背景分析範圍,以便自訂分析範圍。 完成時請選擇 [確定]。
從 [背景分析範圍:] 選取背景分析範圍。 完成時請選擇 [確定]。
注意
在 Visual Studio 2019 之前,可以使用 [啟用完整解決方案分析] 核取方塊,從 [工具]>[選項]>[文字編輯器]>[C#] (或 [Visual Basic]) >[進階] 索引標籤自訂整個解決方案診斷計算的分析範圍。不支援將先前 Visual Studio 版本中的背景分析範圍最小化。
自動將即時程式碼分析範圍最小化
如果 Visual Studio 偵測到系統可用記憶體只剩 200 MB 或更少,它會自動將即時程式碼分析範圍最小化到目前文件。 如發生這種情況,會出現警示,通知您 Visual Studio 正在停用某些功能。 如需詳細資訊,請參閱 自動功能暫停。