vscode扩展之间如何通信

Ven*_*enu 3 visual-studio-code vscode-extensions

我想知道如何在 VS Code 扩展之间进行通信,例如一个扩展将发布而其他扩展将订阅。

Mat*_*ner 8

是的,有几种方法:

  • 使用命令。一个扩展可以调用另一个扩展的命令

  • 使用扩展 API。为此, Extension1 从activate方法返回其 api 。然后 Extension2 可以使用它来获取它extensions.extensions.getExtension('extension1.id')并使用该.exports对象调用 API 。

在这两种情况下,扩展名2应声明其使用取决于扩展名1extensionDependencies在其package.json