【发布时间】:2020-09-21 12:32:31
【问题描述】:
我已经使用 workspaceState 在我的扩展中实现了每个工作区的备份功能。由于数据可能很敏感 - 我想在扩展停用/卸载时清除所有工作区状态。
ExtensionContext 无法使用它们的 workspaceStates 清除不同工作区中的所有扩展相关数据。
所以我考虑在 ExtensionContext globalState 上保存数据,用工作区 id 标记每个条目。问题是工作空间命名空间没有提供唯一标识当前工作空间的方法。我考虑过对工作区名称和路径进行哈希处理,但这两者都是可变的,任何更改都会破坏指向数据的指针。这正是我不能将文件写入内部文件夹的原因。我唯一的其他解决方案是将备份数据直接写入工作区,我想避免这种情况。
VSCode如何维护哪个workspaceState属于哪个workspace的知识?如何将数据绑定到工作区,但可以从 VSCode 中的其他任何地方访问?
【问题讨论】:
标签: visual-studio-code vscode-extensions