我试图使键盘快捷键仅在焦点位于文本编辑器中时才运行,特别是不在VSCode文件资源管理器侧栏中时。
我观察了keybindings.json中的所有示例,并尝试遵循它们的模式。
默认键绑定中的默认绑定如下...
{ "key": "ctrl+n", "command": "workbench.action.files.newUntitledFile" },
我在用户按键绑定中添加的键盘映射如下。...
{ "key": "ctrl+n", "command": "workbench.action.files.newUntitledFile" , "when": "editorTextFocus && !filesExplorerFocus" }
但是由于某种原因,这不起作用。即使我在VSCode File Explorer菜单中集中精力,该命令仍在运行。
我在这里想念什么?
编辑:
我尝试取消映射初始绑定,这成功删除了默认绑定。但是,当我用when子句添加新的绑定时,when子句无效。
{“ key”:“ ctrl + n”,“ command”:“ workbench.action.files.newUntitledFile”,“ when”:“ editorTextFocus &&!filesExplorerFocus”},
{“ key”:“ ctrl + n”,“ command”:“ -workbench.action.files.newUntitledFile”},
答案 0 :(得分:1)
如果您还禁用了默认的键盘绑定,它将按预期工作:
{
"key": "ctrl+n",
"command": "-workbench.action.files.newUntitledFile"
}
否则,当您拥有fileExplorerFocus时,此命令将处于作用域内且处于活动状态。