code --status是VSCode性能诊断第一入口,可查看各子进程CPU/内存占用,重点排查Extension Host高占用及files.watcherExclude配置、语言服务器模式、远程/C++扩展异常。

直接看 code --status,别等它自己“变快”——90% 的插件 CPU 飙高问题,靠这个命令 10 秒内就能定位到具体进程和扩展 ID。
用 code --status 看清谁在后台疯跑
VSCode 界面没卡,但风扇狂转、CPU 持续 70%+,说明问题不在主 UI 线程,而在某个子进程里。任务管理器里的 “Code Helper” 只是壳,code --status 才是真相入口:它会列出所有真实子进程(Extension Host、Search、cpptools-srv、tsserver 等)的 PID、实时 CPU% 和内存占用。
- 重点关注
Extension Host进程 CPU > 60% 且不回落——基本锁定是某扩展在轮询、监听失败或解析卡死 - 记下高占用进程的 PID,再用
ps -p [pid] -o comm=(macOS/Linux)或任务管理器“详细信息”页右键 → “打开文件位置”,确认是否来自esbenp.prettier-vscode、ms-python.python或gitlens.gitlens - 如果看到多个
Extension Host实例同时高占,可能是多窗口或远程开发(Remote-SSH/WSL)导致,需分别查 PID
用 Developer: Open Process Explorer 实时验证扩展行为
这个内置工具比 code --status 更直观,能实时刷新每个扩展的 CPU% 和内存增长趋势,关键是看“谁在动”,而不是“谁装了”。
- 打开后重点盯名称含
eslint、prettier、gitlens、path-intellisense、ms-python.python的条目 - 如果你刚保存一个文件,某扩展 CPU% 突然跳到 60% 并持续数秒——它大概率绑定了
onSave逻辑,且处理耗时过高 - 右键该扩展 → “Disable Extension”,观察 CPU 是否立即回落;注意:必须关闭并重新打开整个 VSCode 窗口(不是重载),否则旧进程不释放
别跳过 files.watcherExclude 配置,写错通配符等于白配
VSCode 默认用 chokidar 递归监听整个工作区,一旦项目里有 node_modules(几万小文件)、dist、.git/objects,inotify 事件就会爆炸式触发,Node.js 子进程满载——你什么都没干,CPU 就飙到 100%。
- 必须写成
"**/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
语言服务器吃资源?先关自动导入和全量索引
Python 和 TypeScript 扩展不是“慢”,是默认加载整个依赖树做类型推导。一个含 50+ 包的 Python 项目,Extension Host 内存常驻 1.2GB+;TS 项目里 node_modules/@types 一多,tsserver 直接吃光 2GB 内存。
- Python:把
python.languageServer从Pylance改为Jedi(Jedi 不做全量语义分析) - TypeScript:设
typescript.preferences.includePackageJsonAutoImports为off,避免 npm 包导入时反复解析 - ESLint:设
eslint.run为onType,并精简eslint.probe(比如去掉.json),减少无意义扫描 - GitLens:关掉
gitlens.codeLens.enabled和gitlens.hovers.enabled,能降 30%–50% 内存
真正容易被忽略的是:很多插件(比如通义灵码、MarsCode)会在后台静默建立索引,UI 上毫无提示,但 code --status 里会明确显示 lingma-server 或 marscode-server 进程占 95% CPU——这类 AI 插件的索引行为,得进设置里手动关掉“自动分析工作区”才有效。



















