vscode 缓存迅速回涨是因多机制并行写入:remote-containers、插件独立缓存(如 ms-python.python-2024.12.0-cache)、node_modules 中插件构建产物、同步服务损坏等,需分路径精准清理并配置 watcherexclude 与 mounts 持久化。

为什么删了缓存又立刻涨回几 GB
不是你没删干净,是 VSCode 在后台持续写入新缓存。常见于 Remote-Containers 模式下,CachedData 或 Remote 子目录会独立建缓存;或装了本地模型插件(如 ms-python.python),它会在自己扩展目录里另起炉灶。这类缓存不走主缓存路径,手动删 %USERPROFILE%\.vscode\Cache 或 ~/Library/Application Support/Code/Cache 根本没用。
- 只删
extensions目录下带-cache后缀的文件夹,比如ms-python.python-2024.12.0-cache - 别碰
ms-python.python-2024.12.0这类正式版本目录——那是插件本体,删了就失能 - 进可疑插件子目录查有没有
cache/或__pycache__/,这些也要手动清
node_modules 里莫名多出 .cache 或 dist-temp 怎么办
这不是 npm install 的锅,是某些插件在构建时偷偷把产物塞进 node_modules。比如老版 TypeScript 插件、自定义语言服务器、甚至 compression-webpack-plugin 都干过这事。VSCode 默认监听整个工作区,一动就触发扫描+索引+写缓存,体积就 quietly 爬升。
- 必须在项目根目录的
.vscode/settings.json中配files.watcherExclude,全局设置无效 - 写全:
"**/node_modules/**": true(注意双星号和尾部斜杠) - 顺手加上:
"**/dist/**": true、"**/build/**": true、"**/.git/**": true - 用 pnpm?补上
"**/node_modules/.pnpm/**": true;用 turborepo?加"**/.turbo/**": true
Remote-Containers 启动慢,每次重装依赖
容器反复初始化,根本原因是没启用持久化缓存。Docker 层缓存只管镜像构建,但 node_modules、~/.npm 这些运行时依赖默认是空的。每次重建都从零 npm install,三分钟起步。
- 在
.devcontainer/devcontainer.json里加mounts配置,挂载命名卷:"source=node_modules_cache,target=/app/node_modules,type=volume" - npm 缓存也建议挂载:
"source=npm_cache,target=/root/.npm,type=volume" - 确保
Dockerfile中COPY package.json和RUN npm ci在前,源码COPY src在后——这样依赖层才能被复用
同步功能卡住、插件灰显、Failed to fetch
同步缓存损坏后,VSCode 会加载旧 session 或冲突配置,导致扩展加载失败、语言服务器起不来、UI 异常。这不是网络问题,是本地缓存状态错乱。
- 先关同步:左下角用户图标 → “关闭设置同步”,再彻底退出 VSCode(任务管理器确认无残留进程)
- 删
%APPDATA%\Code\User\sessions(Windows)或~/Library/Application Support/Code/User/sessions(macOS) - 删
%USERPROFILE%\.vscode\extensions下所有-cache文件夹,再重命名%USERPROFILE%\.vscode\userdata为userdata.bak - 重启后用
code --disable-extensions启动,再重新开同步,逐项勾选类别
真正难处理的是跨机制缓存叠加:Remote 容器 + 本地插件 + 同步服务 + 终端历史,四套缓存系统各自写各自的目录,互不通知。清理时得按模块分片操作,不能指望一键全清——那只会让问题更隐蔽。











