VSCode卡顿主因是插件后台常驻及路径监听过广;需通过Developer: Show Running Extensions查CPU/内存占用,禁用后须全局禁用并彻底退出VSCode,配合files.watcherExclude等配置优化。

VSCode 卡顿、内存飙升、风扇狂转,八成是插件在后台偷偷吃资源——不是插件“不好”,而是默认配置太激进,加上监听路径没 exclude,导致它持续扫描、缓存、重建索引。真问题不在“装了多少”,而在“哪些在常驻”和“它在监听什么”。
怎么看哪个插件正在吃 CPU 和内存
别信扩展列表里的“已启用”,要看它实际干了啥:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入并运行Developer: Show Running Extensions - 重点关注两列:
Startup Time>150ms 的插件会拖慢启动;CPU %长期 >5% 或Memory MB>300MB 的,基本就是后台常驻进程 - 特别警惕
Activation Events里含onStartup、onLanguage:typescript、*的插件,比如eamodio.gitlens、dbaeumer.vscode-eslint、ms-python.python - 顺手再运行
Developer: Open Process Explorer,确认Extension Host进程是否长期 >500MB 且不随关闭文件下降
禁用插件后为什么还占资源
点了“Disable”不等于进程退出,尤其语言服务器类插件(如 tsserver、pyright)一旦拉起,会一直驻留:
- 必须右键插件 → 选
Disable (Global),不是只禁用当前工作区 - 禁用后不能只
Developer: Reload Window,必须彻底退出 VSCode:macOS 点菜单栏Code → Quit;Windows/Linux 关掉所有窗口 + 清空任务栏托盘图标 - 重启后验证是否真退出:终端执行
ps aux | grep -i "tsserver\|pyright\|eslint",无输出才算干净 - 残留配置会复活插件:
settings.json里保留的"eslint.enable": true、keybindings.json中绑定的插件快捷键、.vscode/extensions.json里的推荐项,都得手动删
不卸插件也能大幅降耗的关键配置
很多插件“重”,是因为默认行为太莽,改几行配置就能省几百 MB 内存:
- 在项目根目录的
.vscode/settings.json中加:{ "files.watcherExclude": { "**/node_modules/**": true, "**/.git/**": true, "**/dist/**": true, "**/build/**": true, "**/__pycache__/**": true, "**/*.log": true } }注意:通配符必须是**/xxx/**,单星号或漏斜杠无效;改完需关闭并重新打开工作区才生效 - 对高耗插件单独限流:
"gitlens.advanced.caching.enabled": false、"eslint.run": "onSave"、"typescript.preferences.includePackageJsonAutoImports": "auto" - 远程开发时,在远程服务器的
~/.vscode-server/data/Machine/settings.json中加:"extensions.experimental.affinity": {"*": 0},强制插件本地运行(仅限支持 UI 扩展的)
容易被忽略但最致命的点
很多人配了 files.watcherExclude 却没效果,是因为:
- 写到了用户级
settings.json,而它对工作区监听无效——必须放项目根目录的.vscode/settings.json - Linux 下
/proc/sys/fs/inotify/max_user_watches默认值太小(常为 8192),遇到大项目直接句柄耗尽;应设为524288并持久化 -
files.watcherExclude不匹配.gitignore就等于白配;建议把.gitignore里所有条目自动转成 watcher 排除规则 - VSCode 启动时加载的插件,哪怕你从没打开过对应语言文件,只要注册了
onLanguage,它就已常驻——这点比“用了才加载”更隐蔽



















