Visual Studio 效能秘訣和訣竅
Visual Studio 效能建議適用於記憶體不足的情況,在罕見的情況下可能發生。 在這些情況下,您可以優化您可能未使用的特定Visual Studio功能。 下列秘訣不適用於一般建議。
注意
如果您因為記憶體問題而無法使用產品,請透過 意見反應工具讓我們知道。
使用 64 位 OS
如果您將系統從 32 位版本的 Windows 升級到 64 位版本,您可以將 Visual Studio 可用的虛擬記憶體數量從 2 GB 擴充為 4 GB。 64 位操作系統升級可讓 Visual Studio 處理較大的工作負載。
如需詳細資訊,請參閱 Windows 和 Windows Server 版本的記憶體限制。
提示
Windows 上的 Visual Studio 2022 是 64 位應用程式。 舊版是32位。
停用自動檔案還原
Visual Studio 會自動重新開啟在上一個會話中保持開啟的檔。 視專案類型和開啟的檔而定,此自動檔案還原動作可延長載入方案最多 30 個% 或更多時間。 Windows Forms 和 XAML 以及一些 JavaScript 和 TypeScript 檔案等設計工具可能會變慢開啟。
當自動檔還原導致解決方案載入速度變慢時,Visual Studio 會在黃色列中通知您。 您可以遵循下列步驟來停用自動重新開啟檔案:
選取 [[工具]>[選項],以開啟 [選項] 對話框。
在 [專案和方案>] [一般] 頁面上,取消選取 當方案載入時重新開啟文件。
如果您停用自動檔案還原,一個快速導航到您想要開啟的檔案的方法是使用以下其中一個 移至 命令:
如需一般 移至 功能,請選取 [編輯>移至>移至所有],或按 ctrl Ctrl+T。
使用 [編輯]>[移至最後編輯位置]>[移至],或者按 Ctrl+Shift+Backspace,跳至方案中的最後一個編輯位置。
使用 移至最近使用的檔案 以查看方案中最近流覽過的檔案清單。 選取 [編輯]>[移至>移至最近的檔案],或 按 ctrl+1Ctrl+R。
設定偵錯選項
如果您在偵錯會話期間通常記憶體不足,您可以進行一或多個組態變更來優化效能。
啟用 Just My Code
最簡單的優化是啟用 Just My Code 功能,此功能只會載入專案的符號。 啟用此功能可以顯著節省 .NET 受控應用程式偵錯時的記憶體。 某些項目類型中預設會啟用此選項。
若要啟用 [Just My Code],請選擇 [工具]>[選項]>[偵錯]>[一般],然後選取 [[啟用 Just My Code]。
指定要載入 的符號
針對原生偵錯,載入符號檔(.pdb)會消耗大量的記憶體資源。 您可以設定除錯程式符號設定來節省記憶體。 一般而言,您會將方案設定為只從專案載入模組。
若要指定符號載入,請選擇 [工具]>[選項]>[偵錯>符號]。
將選項設定為 只載入指定的模組,而不是 載入所有模組,然後指定您關心載入的模組。 偵錯時,您也可以在 [模組] 視窗中以滑鼠右鍵按下特定模組, 視窗中明確包含符號載入中的模組。 (若要在偵錯時開啟視窗,請選擇 [偵錯>Windows>模組]。
如需詳細資訊,請參閱 在偵錯工具中指定符號和來源檔案。
停用診斷工具
建議您在使用后停用 CPU 分析。 這項功能可能會耗用大量的資源。 啟用 CPU 分析之後,此狀態會在後續的偵錯會話中保存,因此在完成時值得明確地將其關閉。 如果您不需要提供的功能,您可以在偵錯時停用診斷工具來節省一些資源。
若要停用 診斷工具,請啟動偵錯會話,選取 [工具]>[選項]>[偵錯]>[一般],然後取消選取 [偵錯時啟用診斷工具] 選項 選項。
如需詳細資訊,請參閱 分析工具。
停用工具和擴充功能
某些工具或延伸模組可以關閉以改善效能。
提示
您可以一次關閉一個擴充功能並重新檢查效能,藉此隔離可能的效能問題。
受控語言服務 (Roslyn)
如需 .NET 編譯程式平臺 (“Roslyn”) 效能考慮的相關信息,請參閱 大型解決方案的效能考慮。
停用 CodeLens
Visual Studio 會在顯示每個方法時,針對每個方法執行 尋找所有參考。 CodeLens 提供的功能,例如內嵌顯示參考數目。 工作會在個別的程式中執行,例如 ServiceHub.RoslynCodeAnalysisService32。 在大型解決方案或資源限制系統上,這項功能可能會對效能產生重大影響。 例如,如果您在 4 GB 機器上載入大型解決方案,或此程式的 CPU 使用量偏高時發生記憶體問題,您可以停用 CodeLens 以釋放資源。
若要停用 CodeLens,請選擇 [工具]>[選項]>[文字編輯器]>[所有語言]>CodeLens,然後取消選取此功能。
如需詳細資訊,請參閱 使用 CodeLens尋找程式代碼變更和其他歷程記錄。
其他工具和延伸模組
停用擴充功能
擴充功能是新增至 Visual Studio 的其他軟體元件,可提供新功能或擴充現有功能。 擴充功能通常是記憶體資源問題的來源。 如果您遇到記憶體資源問題,請嘗試一次停用一個擴充功能,以查看它如何影響案例或工作流程。
若要停用擴充功能,請移至 Extensions>Manage Extensions,然後停用特定的擴充功能。
停用地圖模式
地圖模式中 在滾動條上以縮圖顯示程式碼行。 默認會啟用地圖模式。
若要停用地圖模式,請移至 [工具>選項]>[文本編輯器]>[所有語言]>滾動條,然後在 [行為] 區段中,取消 選取 [使用垂直滾動條的地圖模式] 選項 選項。
停用自動換行
換行 會顯示長行程式碼的部分,其延伸超過程式碼編輯器視窗的目前寬度。 自動換行預設為開啟。
若要停用您目前正在處理的項目的自動換行,請前往 [編輯]>[進階]>[自動換行]。 (您可以使用相同的選單命令來切換此設定。
若要停用所有項目的自動換行,請移至 [工具]>[選項]>[一般>文本編輯器]>[所有語言]>[一般],然後在 [設定] 區段中,取消選取 [自動換行] 選項。
停用 XAML 設計工具
XAML 設計工具預設會啟用,但只有在您開啟 .xaml 檔案時,才會取用資源。 如果您使用 XAML 檔案,但不想使用設計工具功能,請停用此功能以釋放部分記憶體。
若要停用 XAML 設計工具,請移至 [工具]>[選項]>[XAML 設計工具]>[啟用 XAML 設計工具],然後取消選取選項。
移除工作負載
您可以使用 Visual Studio 安裝程式來移除不再使用的工作負載。 此動作可以略過不再需要的套件和元件,以簡化啟動和運行時間成本。
將未追蹤的檔案新增至本機 .gitignore
Visual Studio 會執行 Git 命令
git status
未追蹤的檔案,以在您將新檔案新增至存放庫時提供順暢的體驗。 當有大量未追蹤的檔案時,git status
可能會耗用額外的記憶體。 若要忽略這些檔案並改善git status
的效能,您可以將這些檔案或資料夾新增至本機 .gitignore 檔案。 若要存取檔案,請移至 Git>設定>Git 存放庫設定。 然後,在 [Git 檔案] 區段中,選取 [新增] 以建立 .gitignore 檔案,或選取 [編輯] 如果你已經擁有一個。在 Git 工具中啟用認可圖表
Visual Studio 2022 17.2 版的新功能:如果您在 Visual Studio 中檢視 Git 存放庫或分支歷程記錄時遇到延遲,我們已整合可協助的「認可圖表」功能。 若要使用提交圖形,請務必 下載並安裝 Visual Studio 2022。 若要深入了解提交圖表,請參閱 提升您的 Git 體驗 在 Visual Studio 部落格文章中。
強制垃圾收集
CLR 會使用垃圾收集記憶體管理系統。 在此系統中,不再需要的物件有時會使用記憶體。 此狀態為暫時性;垃圾收集行程會根據其效能和資源使用量啟發學習法來釋放此記憶體。 您可以使用 Visual Studio 中的熱鍵,強制 CLR 收集任何未使用的記憶體。 如果有大量的垃圾等候收集,而且您強制進行垃圾收集,您應該會看到 devenv.exe 進程在 Task Manager中的記憶體使用量下降。 很少需要使用此方法。 不過,在昂貴的作業完成之後(例如完整組建、偵錯會話或解決方案開啟事件),它可協助您判斷進程實際使用的內存量。 因為 Visual Studio 是混合式的(受控 & 原生),所以原生配置器和垃圾收集行程偶爾可能會競爭有限的記憶體資源。 在記憶體使用量過高的情況下,強制垃圾收集器運行可能會有所幫助。
若要強制垃圾收集,請使用此鍵盤快捷方式:Ctrl+Alt+Shift+F12,Ctrl+Alt+Shift+F12 (按兩次)。
如果強制垃圾收集能可靠地讓您的情境正常運作,請透過 Visual Studio 意見反應工具提出報告,因為此行為可能是個 Bug。
若要獲得有關 CLR 垃圾收集器的詳細描述,請參閱 垃圾收集的基本概念。