You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSCode插件更新时保留其缓存数据?

VSCode插件更新后缓存数据不丢失的解决方案

你的核心问题是把缓存存在了插件安装目录,而插件更新时旧安装目录会被清理,导致数据丢失。当前从旧版本目录复制的方案虽然能临时凑活,但依赖VSCode“旧版本目录下次启动才删除”的内部行为,这个逻辑没有官方保障,后续版本可能变动,稳定性不足。

正确的做法是不要把缓存文件放在插件安装目录,改用VSCode官方提供的专门存储路径:

  • 全局存储(context.globalStorageUri):适用于所有工作区共享的缓存数据,路径独立于插件安装目录,插件更新时不会被删除
  • 工作区存储(context.workspaceStorageUri):适用于和特定工作区绑定的缓存数据,每个工作区有独立的存储路径,同样不受插件更新影响

举个简单的代码示例,在插件激活时获取全局存储路径:

export function activate(context: vscode.ExtensionContext) {
  // 获取全局存储的文件系统路径
  const globalCachePath = context.globalStorageUri.fsPath;
  // 后续读写缓存文件都用这个路径即可
}

用官方提供的存储路径是最稳妥的方案,完全规避插件更新导致的数据丢失问题,也符合VSCode插件的开发规范。

内容的提问来源于stack exchange,提问作者wangyue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 06:03:15