Visual studio code 在VSCode扩展中构建动态菜单

Visual studio code 在VSCode扩展中构建动态菜单,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在编写一个VSC插件,在激活时,我想进行一个XHR调用,然后用XHR的结果填充一个菜单。似乎没有办法动态地将菜单添加到状态栏或将动态项目添加到项目列表中。您不能这样做。由于其声明性方法,所有命令都必须在package.json中预定义 但是,您可以模仿这种行为。为此,必须使用vscode.window.showQuickPickAPI添加从XHR调用中收到的项。这种动态方法的一个很好的例子是 此外,还有一个示例代码供您开始: let items:vscode.QuickPickItem[]=

我正在编写一个VSC插件,在激活时,我想进行一个XHR调用,然后用XHR的结果填充一个菜单。似乎没有办法动态地将菜单添加到状态栏或将动态项目添加到项目列表中。

您不能这样做。由于其声明性方法,所有命令都必须在
package.json
中预定义

但是,您可以模仿这种行为。为此,必须使用
vscode.window.showQuickPick
API添加从XHR调用中收到的项。这种动态方法的一个很好的例子是

此外,还有一个示例代码供您开始:

let items:vscode.QuickPickItem[]=[];
for(让index=0;index{
//用户取消了选择
如果(!选择){
返回;
}
//用户选择了一些项目。您也可以使用'selection.name'
开关(选择.说明){
“反恐怖主义”案:
doSomething();
打破
案例“anotherItem”:
doSomethingElse();
打破
//.....
违约:
打破
}
});

是的,这就是我最终要做的。@alefragnani:你能解释一下我们应该在package.json中的哪里添加上面的代码吗?@Amir你可以在package.json的
contributions\commands
部分声明命令。您可以在此处获得更多信息:。希望这有帮助。