1

我们的扩展需要存储应该为用户的所有 VSCode 实例共享的数据。我们之前将这些数据存储在用户的主目录中。在 CodeSpaces 上,我对文档的理解是我们应该使用vscode.ExtensionContext.globalStorageUri位置来存储数据。顺便说一句,文档引用globalStoragePath但似乎不赞成使用globalStorageUri.

我不清楚多个 CodeSpaces 之间的同步是如何工作的。我做了一个快速测试:

  • 在 repoA 中创建一个新的 CodeSpace
  • 安装我的扩展
  • 检查文件是否创建于/home/codespace/.vscode-remote/data/User/globalStorage/myExtensionId/myFileToPersist
  • 在 repoB 中打开一个新的 CodeSpace(同一 GitHub 用户)
  • /home/codespace/.vscode-remote/data/User/globalStorage/为空(我希望该文件夹myExtensionId与 repoA 的其他 CodeSpace 同步)
  • 安装我的扩展程序(虽然我可能只有在安装扩展程序时才会延迟同步)
  • 文件/home/codespace/.vscode-remote/data/User/globalStorage/myExtensionId/myFileToPersist是从头开始创建的(与 repoA 中的内容不同)

所以对我来说,该机制似乎globalStorage不适用于 CodeSpaces,或者我没有正确使用 API。或者也许我有错误的期望......有人可以澄清它应该如何工作吗?什么时候同步?冲突如何解决?

4

0 回答 0