必须彻底重启VSCode窗口并清理残留配置才能降CPU:先用code --status定位高占用Extension Host子进程(如tsserver、pyright),记PID后查命令行确认扩展名,禁用后需完全退出VSCode(非仅重载),再删除settings.json等文件中相关配置项,否则进程仍常驻。

直接关掉异常扩展不能立刻降 CPU——禁用操作只是阻止下次加载,旧进程仍常驻内存。必须定位到真凶、禁用、再彻底重启窗口,否则 Extension Host 还在后台疯跑。
用 code --status 找出吃 CPU 的真实子进程
别信任务管理器里那个模糊的 “Code Helper”——它只是壳。真正干活的是它的子进程:
-
Extension HostCPU% 长期 >60%,说明某个扩展(比如esbenp.prettier-vscode、gitlens.gitlens或ms-python.python)正在反复解析或监听失败后卡死 - 看到
tsserver、pyright、rg.exe占高?不是语言本身慢,是它们正全量扫描node_modules或符号链接目录 - 记下对应行的 PID,再执行
ps -p [PID] -o args=(macOS/Linux)或在任务管理器“详细信息”页按 PID 查命令行,就能确认是哪个扩展启动的
禁用后必须彻底关闭窗口,不能只重载
VSCode 的 onStartup 扩展(如 ESLint、GitLens、Prettier)一启动就会拉起独立 Node.js 子进程,建索引、监听文件、预热服务。禁用只是“下次不启”,不会杀掉当前进程:
- 右键扩展 → Disable (For All Folders)(不是仅当前工作区)
- 执行
Developer: Reload Window不够——旧进程仍在后台跑,可用ps aux | grep -i "pyright\|tsserver"验证是否残留 - 必须完全退出 VSCode(包括菜单栏图标),再重新打开项目目录才生效
- 对 Python/TS 项目,建议手动清理:记下 PID 后运行
kill -9 [PID]
检查 settings.json 里有没有“复活配置”
插件禁用了,但配置项还在,VSCode 会尝试加载它来解析这些字段,导致进程悄悄复活:
- 搜一下用户级或工作区级
settings.json,删掉这类残留:"eslint.enable": true、"prettier.requireConfig": false、"python.defaultInterpreterPath"(如果已禁用 Python 插件) - 检查
keybindings.json是否绑定了已禁用插件的快捷键,比如extension.prettier.format - 打开
.vscode/extensions.json,确认没有把已禁用插件写进recommendations列表里
最易被忽略的一点:很多用户以为禁用完就完了,结果过两天发现 CPU 又飙了——问题往往不在扩展本身,而在那些没清干净的配置字段和残留进程。定位靠 code --status,清理靠关窗口+删配置,缺一不可。


















