Developer: Open Process Explorer能直接查看每个插件真实RSS内存,展开Extension Host节点后每行对应一个已启用插件,旁标数字即当前RSS(MB),>300MB且空闲不回落即为泄漏嫌疑;禁用后须重启Extension Host或关闭窗口才能释放内存。

Developer: Open Process Explorer 能直接看到每个插件的 RSS 内存
VS Code 没有“插件内存用量排行榜”界面,但内置的 Developer: Open Process Explorer 命令能实时显示扩展宿主(Extension Host)下每个插件进程的真实内存占用(RSS 值),这是最准、最快的方式。
操作步骤很简单:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入并选择
Developer: Open Process Explorer - 在弹出窗口中展开 Extension Host → Extensions 分支
- 右侧列中的
RSS值就是该插件当前占用的物理内存(单位 MB)
注意:RSS > 300MB 的插件大概率是问题源;禁用后必须完全关闭当前窗口再重开工作区,否则旧进程残留,数据不更新。
为什么有些插件 RSS 突然飙升却没在 Process Explorer 里显示?
因为部分插件(如 ms-python.python、esbenp.prettier-vscode)会把核心服务(Pylance、ESLint Server)跑在独立子进程中,不挂靠在 Extension Host 下——它们会出现在 Process Explorer 的 Other Processes 或 Search Service 区域,RSS 单独计算。
这时要结合系统级工具交叉验证:
- Windows:任务管理器 → 详细信息页,筛选所有含
Code或node的进程,看 CPU / 内存排序 - macOS:活动监视器 → 搜索
code,按“内存”列排序 - Linux:
ps aux --sort=-%mem | grep -i 'code\|node' | head -10
常见高 RSS 独立进程名:pylance-server、eslint-server、typescript-language-server。
settings.json 里加 files.watcherExclude 能间接压低插件内存
很多插件(尤其是 GitLens、ESLint、TypeScript)的内存暴涨,不是代码写得差,而是被 VS Code 默认开启的文件监听器拖垮的——它会递归扫描 node_modules、dist、.git 等目录,触发插件反复解析/缓存,最终撑爆堆内存。
在项目根目录的 .vscode/settings.json 中强制排除这些路径:
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/.git/**": true,
"**/coverage/**": true
}
}
这个配置生效后,GitLens 不再为每行代码加载历史快照,ESLint 不再校验打包产物,TypeScript 语言服务器也不再索引数万个小文件——多数情况下,Extension Host RSS 可下降 200–600MB。
禁用插件后内存没降?检查是否还有残留语言服务器进程
禁用插件只是停用前端逻辑,但后台语言服务器(LSP)可能仍在运行。比如禁用了 ms-python.python,但 pylance-server 进程还在吃内存。
验证方法:
- 执行
Developer: Show Running Extensions,确认插件状态是Disabled而非Activated - 在终端运行
ps aux | grep -i 'pylance\|eslint\|tsserver',手动 kill 掉残留进程 - 重启 VS Code 窗口(不是重载窗口)
长期高频使用的插件(如 Python、ESLint)建议改用轻量替代方案:python-lsp-server 替代 Pylance,eslint-plugin-lit 替代全量 ESLint 扫描,避免一开项目就拉起 500MB+ 的服务进程。


















