我想找到一种方法来使用自定义扩展在所有打开的vscode实例中获取打开的项目。我做了一些研究,但我没有找到任何有关这方面的信息是API文档。我猜这不是vscode API内置的东西。
我想我可以通过使用1个文件在编辑器打开时编写一些JSON来修复它,但我想知道是否有更好的解决方案?
VSCode确实为每个实例启动一个单独的扩展主机进程,因此几乎完全隔离。我能想到的API中唯一的解决方法是使用全局/工作空间状态API,有关详细信息,请参阅此处:
How to persist information for a vscode extension?
所有实例都应该可以使用保存到纪念品的数据。棘手的部分是弄清楚特定的纪念品价值何时发生了变化,我认为没有任何事件,所以你可能不得不求助于民意调查。
除此之外,将某些东西保存到文件系统或者使用套接字可能是一种选择。请注意,ExtensionContext
暴露了一个可能对前者有帮助的storagePath
。