我有一个最大化终端窗口的现有快捷方式,
{
"key": "ctrl+`",
"command": "workbench.action.toggleMaximizedPanel"
}
我想在快捷方式中添加一个额外的命令,以便在焦点最大化时将焦点移动到终端窗口,并在最小化时返回编辑器窗口。在vscode中这可能吗?
我认为你将不得不使用像multi-command这样的宏扩展来运行带有一个键绑定的多个命令。在settings.json中安装了多命令之后:
"multiCommand.commands": [
{
"command": "multiCommand.toggleTerminalAndFocusTerminal",
"sequence": [
"workbench.action.toggleMaximizedPanel",
"workbench.action.terminal.focus",
]
},
{
"command": "multiCommand.toggleTerminalAndFocusEditor",
"sequence": [
"workbench.action.toggleMaximizedPanel",
"workbench.action.focusActiveEditorGroup",
]
}
],
然后是这些键绑定:
{
"key": "ctrl+`",
"command": "multiCommand.toggleTerminalAndFocusTerminal",
"when": "!terminalFocus"
},
{
"key": "ctrl+`",
"command": "multiCommand.toggleTerminalAndFocusEditor",
"when": "terminalFocus"
},
因此,相同的键绑定,Ctrl-backTick将触发两个命令中的一个,具体取决于终端是否具有焦点 - 请注意"when": "!terminalFocus"
意味着当终端没有焦点时。