90%卡顿和cpu过高由插件导致,须用developer: show running extensions查看startup time>150ms、cpu持续波动或状态为running的插件,并彻底禁用后完全重启vscode,同时配置files.watcherexclude排除node_modules等目录。

卡顿和CPU占用过高,90%不是VSCode本身的问题,而是某个插件在后台持续抢资源——必须用Developer: Show Running Extensions看实时状态,而不是凭感觉禁用。
怎么看插件真正在干啥:Startup Time 和 CPU 列不是摆设
打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),运行 Developer: Show Running Extensions。重点盯两列:
-
Startup Time > 150ms的插件:比如ms-python.python、esbenp.prettier-vscode,说明它一开就阻塞主线程,用户还没敲字,编辑器已失响应权 -
CPU列持续跳动(尤其 >200MB 内存 + 频繁波动):典型如gitlens、dbaeumer.vscode-eslint、ms-vscode.js-debug,它们正在后台跑分析/缓存/监听任务 - 状态是
Running而非Activated:前者是活进程,后者只是注册了事件但没干活
禁用插件必须分清作用域,且彻底重启才生效
点“Disable”不等于停掉进程——旧子进程仍驻留内存,尤其 onStartup 激活的插件:
- 全局禁用:
右键插件 → Disable (Global),所有项目都不加载 - 仅当前项目禁用:
Extensions: Disable Extension in This Workspace,图标旁会显示Workspace - 禁用后必须完全退出 VS Code(macOS 上
Cmd+Q,Windows/Linux 关掉所有窗口并确认code进程已结束),再用code .重新打开工作区;只点Developer: Reload Window,旧进程还在跑 - 检查
.vscode/settings.json是否残留配置,比如"eslint.enable": true或"prettier.requireConfig": true,这些字段可能触发后台加载
files.watcherExclude 不配,插件再轻也白搭
VS Code 默认递归监听整个工作区,node_modules 几万小文件直接打爆系统 inotify 句柄,语言服务器被迫反复响应事件风暴:
- 必须在项目根目录的
.vscode/settings.json中添加(不是用户级配置): "files.watcherExclude": { "**/node_modules/**": true, "**/dist/**": true, "**/build/**": true, "**/.git/**": true, "**/__pycache__/**": true }-
**/是关键:写成*node_modules*、/node_modules/或漏斜杠都无效 - Linux 用户需检查
cat /proc/sys/fs/inotify/max_user_watches,若低于524288,执行echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches - 改完必须关闭并重开工作区,只保存设置不生效
别信“禁用就完事”,很多卡顿来自插件默认行为太莽
不少插件卡顿不是因为重,而是默认开启了全量扫描、实时索引等激进策略:
-
GitLens默认开启全仓库历史扫描 → 改"gitlens.advanced.caching.enabled": false,内存可降几百 MB -
TypeScript扩展默认加载所有@types→ 改"typescript.preferences.includePackageJsonAutoImports": "auto",TSServer 启动快一倍 -
ESLint默认onType实时检查 → 改成"eslint.run": "onSave",敲字不卡,保存再报错 - Python 项目中,
python.languageServer从Pylance降为Jedi,能避开类型推导导致的 1.2GB+ 内存驻留
真正难处理的,是那些没显式暴露配置项、却在后台默默拉起子进程的插件——它们不会出现在 Developer: Show Running Extensions 的 CPU 列里,但 code --status 一眼就能揪出对应 PID。这类问题必须靠终端命令配合手动 kill,不能只依赖图形界面操作。











