跳转到主内容
极星编程网:以代码为星,赴技术山海!

VSCode报错“扩展进程占用过高” 插件性能排查解决方法【方案】

“扩展进程占用过高”是Extension Host失控信号,需用Developer: Open Process Explorer查CPU%>30%的插件,禁用后必须重启窗口,配合files.watcherExclude配置(如"/node_modules/": true)和语言服务优化。 “扩展进程占用过高”不是警告,是 Extension Host 进程已失控的明确信号——它通常意味着某个插件在后台持续解析、轮询或监听失败后卡死,必须立刻定位 PID 并终止对应子进程,否则 CPU/内存会持续爬升。 怎么看哪个扩展在疯跑 别信任务管理器里那个“Code Helper”,它只是壳。真正干活的是
Extension Host
子进程,得用 VSCode 自己的诊断入口看: 按
Ctrl+Shift+P
(Windows/Linux)或
Cmd+Shift+P
(macOS),输入并执行
Developer: Open Process Explorer
重点关注 “CPU %” 列:长期 >30% 的
Extension Host
行,右键 → “Copy Process Info”,粘贴出来看完整命令行 命令行里带
esbenp.prettier-vscode
、
gitlens.gitlens
、
ms-python.python
或
dbaeumer.vscode-eslint
的,基本就是它 顺手再开终端跑一次
code --status
,它比系统工具更准,直接标出各进程 PID 和实时 CPU% 禁用插件 ≠ 停止进程,重启窗口才是关键 很多插件(尤其是语言服务类)一旦激活就常驻不退,点“Disable”只阻止下次加载,旧进程照常吃资源: 先运行
Developer: Show Running Extensions
,确认哪些插件真在跑、占多少 CPU/内存 右键目标插件 →
Disable (For All Folders)
(不是仅当前工作区) 必须完全关闭当前 VSCode 窗口 (macOS 要退出菜单栏图标),再重新打开项目——
Developer: Reload Window
没用 对 Python/TS 项目,可手动清理残留:
ps aux | grep -i "pyright\|tsserver\|python.*language"
,找到 PID 后
kill -9 [PID]
files.watcherExclude 写错等于没配 VSCode 默认用 chokidar 监听整个工作区,遇到
node_modules
这种几万小文件的目录,内核级 inotify 句柄会持续增长且几乎不回收——这不是插件问题,是系统级泄漏: VSCode 1.118 微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。 下载 路径通配符必须是
"**/node_modules/**": true
,写成
*node_modules*
、
/node_modules/
或
node_modules/**
都无效 生效必须关闭并重新打开工作区,仅保存
settings.json
不够 必加项:
"**/node_modules/**": true
、
"**/dist/**": true
、
"**/.git/**": true
、
"**/*.log": true
Linux 用户若仍卡顿,检查
cat /proc/sys/fs/inotify/max_user_watches
,低于
524288
就要调高 Python/TypeScript 语言服务不是慢,是默认全量索引 它们不是“卡”,是试图把整个依赖树加载进内存做类型推导,一个含 50+ 包的 Python 项目,
Extension Host
内存轻松破 1.2GB: Python:把
python.languageServer
从
Pylance
改为
Jedi
,或关掉
python.analysis.extraPaths
TypeScript:关掉
typescript.preferences.includePackageJsonAutoImports
,避免 npm 包导入时反复解析 ESLint:设
eslint.run
为
onType
,并精简
eslint.probe
(比如去掉
.json
) GitLens:关掉
gitlens.codeLens.enabled
和
gitlens.hovers.enabled
,能降 30%–50% 内存 最常被忽略的一点:AI 类插件(如
tongyi lingma
)默认会对整个工作区做代码索引,且不随
files.watcherExclude
生效——这类插件要么关掉索引,要么彻底卸载,否则优化其他项效果有限。

相关文章