vscode内存飙至1gb+主因是插件常驻,用developer: show running extensions可揪出onstartup/onlanguage类高耗插件(如gitlens、eslint),禁用后须彻底退出vscode并重开工作区,同时严格配置files.watcherexclude防止inotify泄漏。

VSCode 内存飙到 1GB+,八成不是机器问题,而是几个插件在后台常驻吃内存——Developer: Show Running Extensions 能立刻揪出真凶,禁用后不彻底退出 VSCode,旧进程照跑不误。
怎么看哪个插件真在吃内存
别信“已启用”列表,很多插件注册了 onStartup 或 onLanguage:typescript 这类激活事件,一开编辑器就拉起独立进程,哪怕你没打开任何代码文件。
- 按
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux),输入并执行Developer: Show Running Extensions - 重点关注 Activation Events 列含
onStartup、*或onLanguage的扩展,比如:ms-python.python、dbaeumer.vscode-eslint、eamodio.gitlens - 同时看 RSS 列数值:超过
300MB就该优先处理;esbenp.prettier-vscode和ms-vscode.cpptools也常出现在高耗榜前两名 - 顺手再执行
Developer: Open Process Explorer,确认Extension Host进程是否长期 >500MB,且不随关闭文件下降
禁用插件必须重启窗口才真正生效
点“Disable”只是阻止新加载,旧进程不会释放。尤其语言服务器类插件(如 Pylance、TSServer)一旦启动,会一直驻留直到 VSCode 完全退出。
- 右键目标插件 → 选
Disable (Global)(不是只禁用当前工作区) -
必须完全退出 VSCode:macOS 要点菜单栏图标 →
Quit;Windows/Linux 要关掉所有窗口,任务栏托盘也要清空 - 重新打开工作区,而不是点
Developer: Reload Window——这个操作对内存无影响 - 验证是否真退出:终端运行
ps aux | grep -i "pyright\|tsserver\|python.*language",若无对应 PID 才算干净
files.watcherExclude 配置写错等于没配
这是最常被忽略、也最立竿见影的优化项。漏配或格式错误会导致内核级 inotify 句柄持续泄漏,内存爬升和插件无关。
- 必须写进项目根目录的
.vscode/settings.json,全局设置不生效 - 路径必须严格匹配:
"**/node_modules/**": true,写成*node_modules*或/node_modules/无效 - 常见必加项:
"**/node_modules/**": true"**/dist/**": true"**/build/**": true"**/.git/**": true- Linux 用户额外检查:
cat /proc/sys/fs/inotify/max_user_watches,若低于524288,需运行echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches
禁用后插件还偷偷复活?查这三处残留配置
很多用户禁用完重启,过两天发现插件又自动启了——不是 VSCode 故意捣乱,是配置里藏着“复活开关”。
-
settings.json中保留着插件专属字段,比如"eslint.enable": true或"prettier.requireConfig": true,即使插件禁用,VSCode 启动时仍会尝试加载它来校验配置 -
keybindings.json里绑定了插件快捷键(如extension.prettier.format),VSCode 会为解析绑定而拉起插件进程 -
.vscode/extensions.json中的recommendations列表,一打开该工作区,VSCode 就弹窗提示“安装推荐插件”,点“是”就前功尽弃 - 批量清理更可靠:扩展搜索框输入
@disabled筛出已禁用项,@installed查活跃插件;或终端运行code --list-extensions+code --uninstall-extension ms-python.python彻底卸载
真正卡住 VSCode 的,往往不是某个插件本身多差,而是它和 files.watcherExclude 没配对、和残留配置没清理干净、和“重载窗口”这种伪重启混在一起——三者任缺其一,内存都压不下来。











