0
私はVSCプラグインをオーサリングしています。アクティブにすると、XHRコールを行い、そのXHRの結果をメニューに入力したいと思っています。ステータスバーに動的にメニューを追加する方法や、アイテムのリストに動的なアイテムを追加する方法はありません。VSCodeエクステンションのダイナミックメニューをビルド
私はVSCプラグインをオーサリングしています。アクティブにすると、XHRコールを行い、そのXHRの結果をメニューに入力したいと思っています。ステータスバーに動的にメニューを追加する方法や、アイテムのリストに動的なアイテムを追加する方法はありません。VSCodeエクステンションのダイナミックメニューをビルド
これはできません。 の宣言的なアプローチのため、すべてのコマンドはpackage.json
であらかじめ定義されている必要があります。
ただし、この動作を模倣することはできます。これを行うには、vscode.window.showQuickPick
APIを使用して、XHR通話から受け取ったアイテムを追加する必要があります。この良い例の動的アプローチはMDTools extensionです。また
、あなたが開始するためのサンプルコード:
let items: vscode.QuickPickItem[] = [];
for (let index = 0; index < yourHXRResultItems.length; index++) {
let item = yourHXRResultItems[index];
items.push({
label: item.name,
description: item.moreDetailedInfo});
}
vscode.window.showQuickPick(items).then(selection => {
// the user canceled the selection
if (!selection) {
return;
}
// the user selected some item. You could use `selection.name` too
switch (selection.description) {
case "onItem":
doSomething();
break;
case "anotherItem":
doSomethingElse();
break;
//.....
default:
break;
}
});
うん、それは私がやってしまったものを最終的にです。 – arb