【发布时间】:2017-01-03 19:46:19
【问题描述】:
简介
我正在 Visual Studio Code 中创建一个扩展,它会创建一个“quickPick”菜单,用户可以从中选择选项:
我可以使用向上和向下箭头滚动列表,但我希望能够将其绑定到对主行更友好的东西,例如 ctrl-n 和 ctrl- p。我有 ctrl-n 和 ctrl-p 已经绑定在主命令菜单(ctrl-shift-p)上向上/向下滚动,我希望快速选择也将属于此规则。不幸的是,我的许多 ctrl-n 上下文绑定都没有生效。
我希望可以添加到 'keybindings.json' 中的内容,如下所示:
{
"key": "ctrl+n",
"command": "cursorDown",
"when": "quickPickFocus"
},
但我在浏览“默认键盘快捷键”时看不到这样的内容。
问题
-
如何为快速选择列表创建键绑定?
-
我可以为我的扩展程序创建一个自定义的“何时”上下文吗?然后我可以指定如下内容:
"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