应查看developer: show running extensions而非“已启用”列表,重点关注activation events含onstartup///onlanguage的插件(如ms-python.python、gitlens)、rss超300mb或进程名含pyright/tsserver的项;禁用后须全局禁用并彻底退出vscode再重开工作区,同时正确配置files.watcherexclude为"/node_modules/*"等格式并重启生效。

看 Developer: Show Running Extensions 而不是“已启用”列表
插件是否真在吃电,和它有没有打勾无关。很多插件注册了 onStartup 或 onLanguage:typescript 这类激活事件,一开 VSCode 就拉起独立 Node.js 子进程,哪怕你没打开任何文件——它已经在后台跑着了。
按 Cmd+Shift+P(Mac)或 Ctrl+Shift+P(Win/Linux),输入并执行 Developer: Show Running Extensions。重点关注三列:
-
Activation Events里含onStartup、*或具体语言名的插件(比如ms-python.python、dbaeumer.vscode-eslint、eamodio.gitlens) -
RSS列数值超过 300MB 的,优先处理 - 名称带
prettier、eslint、gitlens、pyright、tsserver的条目,基本是常驻内存大户
禁用插件后必须彻底退出 VSCode 才生效
点“Disable”只是阻止新加载,旧进程照常运行。语言服务器类插件(如 Pylance、TSServer)一旦启动,会一直驻留直到整个 VSCode 进程退出。
- 右键目标插件 → 选
Disable (Global)(不是仅当前工作区) - macOS:菜单栏点击
Code → Quit Visual Studio Code;Windows/Linux:关掉所有窗口,确认任务栏托盘图标也消失 - 重新打开工作区,别用
Developer: Reload Window—— 它对内存和 CPU 没影响 - 验证是否清干净:终端运行
ps aux | grep -i "pyright\|tsserver\|python.*language",无输出才算成功
查 code --status 看真实子进程 CPU%
界面不卡 ≠ 没问题。风扇狂转往往来自某个后台子进程,而任务管理器里的 Code Helper (Plugin) 只是个壳。真正干活的是它背后跑的扩展逻辑。
在终端执行 code --status,你会看到类似这样的输出:
Extension Host 12345 87% 421 MB Search 12346 12% 89 MB tsserver 12347 63% 210 MB
重点关注:
-
Extension HostCPU > 60% 且不回落 → 某插件在轮询、监听失败后卡死,或onSave逻辑耗时过高 - 进程名含
tsserver、pyright、cpptools-srv→ TypeScript/Python/C++ 语言服务正在全量索引依赖树 - 记下高占用 PID,再用
ps -p 12345 -o comm=查它实际在跑哪个扩展(比如输出eslint或gitlens)
别漏掉 files.watcherExclude 配错等于白配
VSCode 默认用 chokidar 递归监听整个工作区。遇到 node_modules(几万小文件)、.git/objects、dist 目录时,inotify 事件爆炸式触发,Node.js 子进程满载——你什么都没干,CPU 就稳定在 70%+。
- 通配符必须写成
"**/node_modules/**": true,写成*node_modules*、/node_modules/或*/node_modules/*全无效 - 配置只在关闭并重新打开工作区后生效,改完
settings.json不重启 = 白改 - 推荐完整配置:
"**/node_modules/**"、"**/dist/**"、"**/build/**"、"**/.git/**"、"**/*.log" - Linux/macOS 用户顺手检查:
cat /proc/sys/fs/inotify/max_user_watches,若低于524288,执行sudo sysctl fs.inotify.max_user_watches=524288
最常被忽略的一点:某些插件(比如 Codex 26.325+ 版本)存在后台无限重试逻辑,会导致 CPU 持续满载——这种问题跟项目大小、配置无关,纯属插件 bug。遇到风扇狂转但 code --status 显示多个 codex 进程高占,直接降级到 26.324 版本并彻底重启 VSCode。











