我有一个现有的快捷方式,可以最大化终端窗口,
{
"key": "ctrl+`",
"command": "workbench.action.toggleMaximizedPanel"
}
我想在快捷方式中添加一个额外的命令,当终端窗口最大化时将焦点转移到终端窗口,当最小化时将焦点返回到编辑器窗口。这在 vscode 中是否可行?
我有一个现有的快捷方式,可以最大化终端窗口,
{
"key": "ctrl+`",
"command": "workbench.action.toggleMaximizedPanel"
}
runCommands
,它允许您运行一系列命令,就像传统的宏扩展一样。通过以下按键绑定,您可以在没有宏扩展的情况下完成所需操作:{
"key": "ctrl+`", // use the same keybinding below
"command": "runCommands",
"args": {
"commands": [
"workbench.action.toggleMaximizedPanel",
"workbench.action.terminal.focus",
]
},
"when": "!terminalFocus"
},
{
"key": "ctrl+`", // same keybinding as above
"command": "runCommands",
"args": {
"commands": [
"workbench.action.toggleMaximizedPanel",
"workbench.action.focusActiveEditorGroup",
]
},
"when": "terminalFocus" // terminal will be focused when it is maximized
}
我注意到现在需要将面板居中对齐才能使其正常工作。
[在vscode 1.77之前]
我认为你需要使用一个宏扩展,比如multi-command,来实现一个按键绑定运行多个命令。一旦你安装了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": "extension.multiCommand.execute",
"args": { "command": "multiCommand.toggleTerminalAndFocusTerminal" },
"when": "!terminalFocus"
},
{
"key": "ctrl+`",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.toggleTerminalAndFocusEditor" },
"when": "terminalFocus"
},
"when": "!terminalFocus"
表示当终端没有焦点时。