VSCode中具有多个命令的快捷方式

问题描述 投票:1回答:1

我有一个最大化终端窗口的现有快捷方式,

{
        "key": "ctrl+`",
        "command": "workbench.action.toggleMaximizedPanel"
}

我想在快捷方式中添加一个额外的命令,以便在焦点最大化时将焦点移动到终端窗口,并在最小化时返回编辑器窗口。在vscode中这可能吗?

visual-studio-code
1个回答
2
投票

我认为你将不得不使用像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"意味着当终端没有焦点时。

© www.soinside.com 2019 - 2024. All rights reserved.