Visual Studio Code - 使快捷方式仅在编辑器焦点中运行



我试图使键盘快捷键仅在焦点当前位于文本编辑器中时才运行,特别是不在 VSCode 文件资源管理器侧边栏中。

我已经观察了keybindings.json中的所有示例,并试图遵循它们的模式。

默认键绑定中的默认绑定如下所示...

{ "key": "ctrl+n",                "command": "workbench.action.files.newUntitledFile" },

我在用户键绑定中添加的键盘映射如下。

{ "key": "ctrl+n", "command": "workbench.action.files.newUntitledFile" , "when": "editorTextFocus && !filesExplorerFocus" }

但由于某种原因,这是行不通的。即使我在 VSCode 文件资源管理器菜单中有焦点,该命令仍在运行。

我在这里错过了什么?

编辑:

我尝试取消映射初始绑定,成功删除默认绑定。但是当我添加带有 when 子句的新绑定时,when 子句不起作用。

{ "key": "ctrl+n", "command": "workbench.action.files.newUntitledFile" , "when": "editorTextFocus && !filesExplorerFocus" },

{ "key": "ctrl+n", "command": "-workbench.action.files.newUntitledFile" },

如果您还禁用默认键绑定,它将按预期工作:

{
"key": "ctrl+n",
"command": "-workbench.action.files.newUntitledFile"
}

否则,当您有 fileExplorerFocus 时,此命令将在范围内并处于活动状态。

最新更新