VSCode内存飙高主因是插件后台常驻未彻底退出:需用Developer: Show Running Extensions识别onStartup/onLanguage类插件,Disable(Global)后必须完全退出VSCode并重开,同时正确配置files.watcherExclude防止inotify泄漏。

VSCode 内存飙到 800MB+ 还不降,大概率不是机器差,而是几个插件在后台常驻没退出——禁用操作本身不生效,关键在「怎么禁」和「禁完怎么清」。
Developer: Show Running Extensions 看真正在跑的插件
别信扩展面板里的“已启用”状态。很多插件注册了 onStartup 或 onLanguage:python 这类激活事件,一开 VSCode 就拉起独立进程,哪怕你没打开任何代码文件。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入并执行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,且不随关闭文件下降
禁用后必须彻底退出 VSCode 才释放内存
点“Disable”只是阻止新加载,旧进程不会自动释放。语言服务器类插件(如 Pylance、TSServer)一旦启动,会一直驻留直到 VSCode 完全退出。
- 右键目标插件 → 选
Disable (Global)(不是只禁用当前工作区) - 必须完全退出 VSCode:macOS 要点菜单栏图标 → Quit;Windows/Linux 要关掉所有窗口,并确认任务栏托盘无残留进程
- 重新打开工作区(比如用
code .),而不是点Developer: Reload Window——这个操作对内存无影响 - 验证是否真退出:终端运行
ps aux | grep -i "pyright\|tsserver\|python.*language",若无对应 PID 才算干净
files.watcherExclude 配置写错等于没配
这是最常被忽略、也最立竿见影的优化项。漏配或格式错误会导致内核级 inotify 句柄持续泄漏,内存爬升和插件无关。
- 必须写进项目根目录的
.vscode/settings.json,不是用户设置界面(界面加引号会导致解析失败) - 正确写法示例:
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/__pycache__/**": true,
"**/venv/**": true,
"**/logs/**": true,
"**/*.log": true
}
}
-
**/是关键,单星号*/或漏掉末尾斜杠会失效,子目录照样被扫描 - Linux 用户额外检查:
cat /proc/sys/fs/inotify/max_user_watches,若低于524288,运行echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches - 改完必须关闭并重开工作区,只刷新窗口不生效
禁用内置扩展也能省几百 MB
VSCode 自带不少默认启用的内置扩展,比如 GitHub Pull Requests、Jupyter、Markdown Preview,它们常驻监听文件变化,会持续占用内存。
- 按
Ctrl+Shift+P输入Extensions: Show Built-in Extensions - 如果你不用 GitHub PR 流程,直接禁用
GitHub Pull Requests and Issues - 不用 Jupyter?禁用
Jupyter和Python for VS Code(注意区分官方 Python 扩展) - 禁用后同样要彻底退出 VSCode 再重开,否则监听器仍在后台跑
真正卡顿的根源往往藏在 files.watcherExclude 没生效、或者禁用后没杀干净进程这两个地方——其他优化都建立在这两个动作做完的基础上。


















