9

序章

ユーザーがオプションを選択できる「quickPick」メニューを作成する拡張機能をVisual Studio Codeで作成しています。

ここに画像の説明を入力

上矢印と下矢印を使用してリストをスクロールできますが、これをctrl-nctrl-pなどのよりホーム行に適したものにバインドできるようにしたいと考えています。メイン コマンド メニュー (ctrl-shift-p)でctrl-nctrl-pが既にスクロール アップ/ダウンにバインドされており、クイック ピックもこのルールに該当することを望んでいました。残念ながら、多くの ctrl-n コンテキスト バインディングが有効になっていません。

次のような「keybindings.json」に追加できるものを期待しています。

 {
        "key": "ctrl+n", 
        "command": "cursorDown", 
        "when": "quickPickFocus"
    }, 

しかし、「デフォルトのキーボード ショートカット」を参照しても、このようなものは表示されません。

質問

  1. クイック ピック リストのキー バインドはどのように作成しますか?

  2. 拡張機能のカスタムの「いつ」コンテキストを作成できますか? 次に、次のように指定できます。

    "when" : "myExtensionIsActive && 何とか"

追加ドキュメント

これは、私の keybindings.json でオーバーライドされたすべての ctrl-n キー バインディングです

    {
        "key": "ctrl+n", 
        "command": "cursorDown", 
        "when": "editorTextFocus"
    }, 
    {
        "key": "ctrl+n", 
        "command": "workbench.action.quickOpenNavigateNext", 
        "when": "inQuickOpen"
    }, 
   {
        "key": "ctrl+n", 
        "command": "showNextParameterHint", 
        "when": "editorTextFocus && parameterHintsVisible"
    }, 
   {
        "key": "ctrl+n", 
        "command": "selectNextQuickFix", 
        "when": "editorFocus && quickFixWidgetVisible"
    }, 
    {
        "key": "ctrl+n", 
        "command": "selectNextSuggestion", 
        "when": "editorTextFocus && suggestWidgetVisible"
    }, 

これは、quickPick を作成するコードです。

 var themeList = this.getThemeList()
  vscode.window.showQuickPick(themeList)
    .then(val => {
      // Update the status bar
      this.cmdChannel.text = `Theme: ${val}`
      this.cmdChannel.show(); 
    });
4

1 に答える 1