VSCode插件缓存失控增长的根源在于缺乏统一生命周期管理,各插件在~/.vscode/extensions或%USERPROFILE%\.vscode\extensions下私有写入且不自动清理;ms-python.python、esbenp.prettier-vscode、ms-vscode-remote.remote-ssh及GitHub Copilot等AI插件尤为突出,分别因AST索引、全量文件树扫描、远程服务器冗余镜像和本地embedding缓存导致GB级堆积。

插件缓存不清理,不是“占空间”而是“失控增长”——根本原因在于 VSCode 没有统一缓存生命周期管理,每个插件各自为政写入 ~/.vscode/extensions 或 %USERPROFILE%\.vscode\extensions 下的私有目录,且多数不自动清理旧数据。
哪些插件最擅长偷偷吃光 C 盘
不是所有插件都一样。以下几类是缓存大户,且默认无清理机制:
-
ms-python.python:Pylance 启动后在~/.vscode/extensions/ms-python.python-*/out/下生成数 MB 的 AST 缓存、符号索引,升级版本后旧缓存不删 -
esbenp.prettier-vscode:格式化时若开启prettier.requireConfig为 false,会缓存整个工作区文件树结构,node_modules被扫描一次就留下几百 MB 临时元数据 -
ms-vscode-remote.remote-ssh:每次连接新服务器会在~/.vscode-server/data/Machine/下建新子目录,含完整node_modules和 LSP server 二进制,旧版本残留可达 GB 级 -
github.copilot(含通义灵码等 AI 插件):本地 embedding 缓存默认存在~/.vscode/extensions/*/cache/,不随插件卸载清除,且无 TTL 控制
禁用自动缓存比清理更有效
与其等缓存涨到爆再手动删,不如从源头掐断。关键是改插件自己的行为,而非依赖 VSCode 全局设置:
- 对
ms-python.python,在工作区.vscode/settings.json中设:"python.languageServer": "Jedi"(绕过 Pylance 大缓存)或"python.analysis.cacheSize": 50(单位 MB,限制最大缓存体积) - 对
esbenp.prettier-vscode,关掉自动探测:"prettier.requireConfig": true,并确保项目根目录有.prettierrc,避免它 fallback 到全量扫描 - 对远程插件,在远程
~/.vscode-server/data/Machine/settings.json加:"remote.ssh.useLocalServer": false(禁用本地代理缓存)和"remote.ssh.showLoginTerminal": false(减少登录态冗余缓存) - 所有插件通用:在全局
settings.json中加"extensions.autoUpdate": false,避免每次更新都解压新副本 + 留下旧版目录
定期清理必须带条件,否则白干
手动删 extensions 文件夹风险高,但用对命令+路径能安全释放 2–8GB:
- 只删明确废弃的插件目录:
rm -rf ~/.vscode/extensions/{ms-python.python-2023.*,esbenp.prettier-vscode-8.*}(Linux/macOS)
PowerShell 中用:Remove-Item "$env:USERPROFILE\.vscode\extensions\ms-python.python-2023.*" -Recurse -Force - 清远程缓存(关键!):
先ps aux | grep 'vscode-server' | grep -v grep找出正在运行的vscode-server版本号,再删对应目录:rm -rf ~/.vscode-server/bin/abcd1234...(保留当前正在用的那个) - 别碰
~/.vscode/extensions/*/package.json里的extensionKind字段——有些插件(如ms-vscode.cpptools)靠它决定是否启用本地缓存逻辑,改错会导致功能失效
最常被忽略的一点:插件缓存路径可能不在 .vscode/extensions 下。比如 GitLens 把历史图谱缓存写在 ~/.gitlens,ESLint 在 ~/.eslintcache。这些目录不会随插件卸载消失,得单独盯住。











