如何为 vscode 中的快速选择菜单设置滚动 up/down 键绑定?
How can I set scroll up/down keybindings for quickPick menu in vscode?
简介
我正在 Visual Studio 代码 中创建一个扩展,它创建一个 'quickPick' 菜单,用户可以从中 select 选项:
我可以使用向上和向下箭头滚动列表,但我希望能够将其绑定到更适合主行的内容,例如 ctrl-n 和ctrl-p。我已经在主命令菜单 (ctrl-shift-p) 上绑定了 ctrl-n 和 ctrl-p 滚动 up/down ,我希望快速选择也符合这条规则。不幸的是,我的许多 ctrl-n 上下文绑定中的 none 正在生效。
我希望我可以添加到 'keybindings.json' 中,看起来像:
{
"key": "ctrl+n",
"command": "cursorDown",
"when": "quickPickFocus"
},
但是在浏览“默认键盘快捷键”时我看不到这样的东西。
问题
如何为快速选择列表创建键绑定?
我可以为我的扩展程序创建一个自定义的“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();
});
您刚刚添加了错误的键绑定 command
和 when
,请尝试将其添加到您的 keybindings.json
{
"key": "ctrl+n",
"command": "workbench.action.quickOpenSelectNext",
"when": "!editorFocus"
},
{
"key": "ctrl+p",
"command": "workbench.action.quickOpenSelectPrevious",
"when": "!editorFocus"
}
简介
我正在 Visual Studio 代码 中创建一个扩展,它创建一个 'quickPick' 菜单,用户可以从中 select 选项:
我可以使用向上和向下箭头滚动列表,但我希望能够将其绑定到更适合主行的内容,例如 ctrl-n 和ctrl-p。我已经在主命令菜单 (ctrl-shift-p) 上绑定了 ctrl-n 和 ctrl-p 滚动 up/down ,我希望快速选择也符合这条规则。不幸的是,我的许多 ctrl-n 上下文绑定中的 none 正在生效。
我希望我可以添加到 'keybindings.json' 中,看起来像:
{
"key": "ctrl+n",
"command": "cursorDown",
"when": "quickPickFocus"
},
但是在浏览“默认键盘快捷键”时我看不到这样的东西。
问题
如何为快速选择列表创建键绑定?
我可以为我的扩展程序创建一个自定义的“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();
});
您刚刚添加了错误的键绑定 command
和 when
,请尝试将其添加到您的 keybindings.json
{
"key": "ctrl+n",
"command": "workbench.action.quickOpenSelectNext",
"when": "!editorFocus"
},
{
"key": "ctrl+p",
"command": "workbench.action.quickOpenSelectPrevious",
"when": "!editorFocus"
}