【问题标题】:How can I set scroll up/down keybindings for quickPick menu in vscode?如何在 vscode 中为 quickPick 菜单设置向上/向下滚动键绑定?
【发布时间】:2017-01-03 19:46:19
【问题描述】:

简介

我正在 Visual Studio Code 中创建一个扩展,它会创建一个“quickPick”菜单,用户可以从中选择选项:

我可以使用向上和向下箭头滚动列表,但我希望能够将其绑定到对主行更友好的东西,例如 ctrl-nctrl- p。我有 ctrl-nctrl-p 已经绑定在主命令菜单(ctrl-shift-p)上向上/向下滚动,我希望快速选择也将属于此规则。不幸的是,我的许多 ctrl-n 上下文绑定都没有生效。

我希望可以添加到 'keybindings.json' 中的内容,如下所示:

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

但我在浏览“默认键盘快捷键”时看不到这样的内容。

问题

  1. 如何为快速选择列表创建键绑定?

  2. 我可以为我的扩展程序创建一个自定义的“何时”上下文吗?然后我可以指定如下内容:

    "when" : "myExtensionIsActive && blah"

附加文档

这是我的 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(); 
    });

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    您刚刚添加了错误的键绑定commandwhen,请尝试将其添加到您的keybindings.json

            {
                "key": "ctrl+n",
                "command": "workbench.action.quickOpenSelectNext",
                "when": "!editorFocus"
            },
            {
                "key": "ctrl+p",
                "command": "workbench.action.quickOpenSelectPrevious",
                "when": "!editorFocus"
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      相关资源
      最近更新 更多