gpt4 book ai didi

visual-studio-code - 在哪里存储 vscode 扩展的全局二进制数据

转载 作者:行者123 更新时间:2023-12-01 04:31:09 25 4
gpt4 key购买 nike

我为 VS 代码编写了语言服务器扩展。为了提高启动时间,我想缓存一些全局状态。我正在努力寻找一个安全、用户透明的位置。

  • 缓存在所有工作区之间共享
  • 它包含 200-300MB 的序列化数据
  • 它应该在扩展
  • 的更新之间持续存在
  • 扩展是跨平台的

  • 我发现了以下四个选项,但它们似乎都不合适:
  • ExtensionContext.extensionPath : 这几乎是完美的。对用户来说,安全的沙盒空间是显而易见的。但是,它在扩展更新时被删除。
  • ExtensionContext.storagePath :这不是全局的,用户很难清除,因此很快就会使用 GB 的存储空间。
  • ExtensionContext.globalState : 将 300MB 的二进制数据放入 JSON 字典存储似乎很糟糕。
  • %UserData%/linux/OSX 等效项:在不受控制的一般用户空间中添加和删除文件是我宁愿避免的风险。

  • 存储这些数据的合适位置在哪里?

    最佳答案

    2019 年 1 月发布的 VS Code 添加了 ExtensionContext.globalStoragePath ,这是 storagePath 的全局版本

    An absolute file path in which the extension can store global state. The directory might not exist on disk and creation is up to the extension. However, the parent directory is guaranteed to be existent.



    https://code.visualstudio.com/updates/v1_31#_global-storage-path

    关于visual-studio-code - 在哪里存储 vscode 扩展的全局二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54039837/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com