如何排查由外掛引起的 VS Code CPU 佔用過高

一篇可直接操作的 VS Code 高 CPU 排查指南:用 Start Extension Bisect 快速定位問題外掛,並結合搜尋與檔案監控設定完成優化。

當 VS Code 突然變卡、風扇狂轉、CPU 長時間高佔用時,最常見原因通常不是編輯器本體,而是擴充外掛衝突或外掛行為異常。

這篇文章提供一套可立即執行的排查路徑,優先用最省時間的方法定位問題。

先做最快的定位:Start Extension Bisect

Start Extension Bisect 的核心思路是二分法: 每一輪暫時停用一半擴充並重啟,透過你回報「問題是否仍存在」,快速縮小範圍,直到定位到可疑外掛。

操作步驟:

  1. Ctrl+Shift+P(macOS 為 Cmd+Shift+P)開啟命令面板。
  2. 輸入並執行 Start Extension Bisect
  3. 每次重啟後觀察 CPU 佔用與卡頓是否重現,並依提示選擇 Good nowThis is bad
  4. 重複幾輪後,VS Code 會給出可疑擴充清單。

定位後怎麼處理

找到可疑外掛後,建議按這個順序處理:

  1. 先更新外掛到最新版本。
  2. 若無改善,暫時停用該外掛 1-2 天觀察。
  3. 對於功能可替代的外掛,優先換成更輕量的方案。
  4. 若必須使用該外掛,檢查其進階設定,關閉不必要的即時分析、索引或監聽功能。

兩個容易被忽略的「放大器」

即使主因是外掛,以下設定也會放大 CPU 問題:

  1. 搜尋範圍過大
    例如把建置產物、依賴目錄、日誌目錄也納入全域搜尋,會讓外掛與檔案索引持續高負載。

  2. 檔案監控包含大型目錄或軟連結
    軟連結、快取目錄、自動產生目錄容易觸發大量檔案事件,導致擴充反覆工作。

可以在 settings.json 中適當排除目錄,例如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
  "search.exclude": {
    "**/node_modules": true,
    "**/dist": true,
    "**/build": true
  },
  "files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/node_modules/**": true,
    "**/dist/**": true
  }
}

復盤建議

如果你已定位到問題外掛,建議記錄三件事:外掛名稱、觸發場景、最終處理方式。
這樣下次遷移環境或重裝系統時,可以快速避開同類問題。

總結

VS Code 高 CPU 佔用的排查,最有效路徑是先用 Start Extension Bisect 快速定位,再結合搜尋與檔案監控範圍做收斂。
先定位,再優化,比「盲目停用一堆外掛」更省時間,也更穩定。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計