真正需要手动备份的VSCode本地缓存数据是workspaceStorage(工作区索引与调试断点)、globalStorage(插件私有数据如Remote-SSH连接历史)和特定场景下Developer: Save Current Session生成的Backups子目录;其余如Cache、CachedData、GPUCache等均可安全删除并自动重建。

哪些缓存数据值得手动备份
VSCode 的「本地缓存」里,真正影响开发连续性的不是 Cache 或 CachedData 这类可重建的临时文件,而是三类带状态、难恢复的数据:workspaceStorage(每个项目的工作区索引和调试断点)、globalStorage(插件私有数据,比如 Remote-SSH 的连接历史、Git Graph 的分支缓存)、Backups(未保存文件的自动快照)。这些目录一旦丢失,可能直接导致断点消失、SSH 连接列表清空、未保存代码永久丢失。
备份 workspaceStorage 和 globalStorage 的实操步骤
这两个目录必须在 VSCode 完全退出后操作,否则文件被占用或写入不完整:
- Windows:关闭所有 Code 进程(任务管理器里杀掉
Code.exe和Code Helper.exe),打开路径%APPDATA%\Code\workspaceStorage和%APPDATA%\Code\User\globalStorage,整目录压缩备份 - macOS:用 Finder 按
Shift+Command+G跳转到~/Library/Application Support/Code/workspaceStorage和~/Library/Application Support/Code/User/globalStorage - Linux:对应路径为
~/.config/Code/workspaceStorage和~/.config/Code/User/globalStorage
注意:workspaceStorage 下每个子文件夹名是工作区路径的哈希值,无法人工识别,所以必须整目录备份;globalStorage 里若含 Remote-SSH 数据,恢复后首次连接会提示 host key changed,需手动清理 known_hosts 对应行或执行 Remote-SSH: Kill VS Code Server on Host。
Backups 目录备份要特别小心
这个目录存的是未保存文件的内存快照,但它的内容不是纯文本,而是加密或序列化格式,且生命周期短(默认 5 天自动清理)。直接复制 Backups 文件夹并不能保证还原出可用文件——VSCode 启动时只读取其中最新、未过期的条目,并校验编辑器 session ID。
- 最稳妥做法:不依赖
Backups,改用files.autoSave设为afterDelay或onFocusChange,并开启files.hotExit(默认开启) - 真要备份:只在紧急关机前手动触发一次
Developer: Save Current Session(命令面板中输入),它会在Backups下生成一个带时间戳的子目录,此时再复制该子目录才有效 - 恢复时不能覆盖粘贴,必须把该子目录放进新环境的
Backups路径下,重启 VSCode 才会提示“恢复未保存的文件”
别把 Extensions 当缓存来备份
很多人误以为 Extensions 文件夹是缓存,其实它是已安装插件的运行时副本。直接拷贝它到新机器大概率失败:
- 扩展二进制文件与 VSCode 版本强绑定,1.90 版本装的插件在 1.113 上可能无法加载
- 某些插件(如 Python、C++)会在首次启动时编译本地工具链,拷过去只是空壳
- 正确做法是导出 ID 列表:
code --list-extensions > extensions.txt,恢复时用code --install-extension重装
真正需要手动备份的「缓存类数据」就三处:workspaceStorage、globalStorage、特定场景下的 Backups 子目录。其它都可丢,重启即重建。跨版本迁移时,globalStorage 里的插件数据尤其容易失效,恢复后建议逐个验证关键插件功能是否正常。











