2017-03-03 4 views
0

私はVSCプラグインをオーサリングしています。アクティブにすると、XHRコールを行い、そのXHRの結果をメニューに入力したいと思っています。ステータスバーに動的にメニューを追加する方法や、アイテムのリストに動的なアイテムを追加する方法はありません。VSCodeエクステンションのダイナミックメニューをビルド

答えて

1

これはできません。 の宣言的なアプローチのため、すべてのコマンドは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; 
    } 
}); 
+0

うん、それは私がやってしまったものを最終的にです。 – arb

関連する問題