如何将 VS Code 配置为在任务完成后自动隐藏而不是关闭终端面板

How to configure VS Code to auto hide, not close, the Terminal panel after a task completes

任务完成后,终端将保持打开状态。有没有办法自动隐藏?

不是谈论关闭https://code.visualstudio.com/updates/v1_57#_automatically-close-task-terminals中描述的window,因为这将删除所有输出。

我只想隐藏终端,这样我仍然可以在需要时通过打开终端面板返回到输出。

希望有一个我不知道的更好的方法,但这个方法可行。在您的 tasks.json:

中完成这些任务
{
  "version": "2.0.0",

  "tasks": [
    {
      "label": "echo and hide",
      "dependsOrder": "sequence",
      "dependsOn": [
        "simple echo",
        "hide terminal"
      ]
    },
    {
      "label": "simple echo",
      "command": "echo I have been hidden",
      "type": "shell",
      "problemMatcher": []
    },
    {
      "label": "hide terminal",
      "command": "${command:workbench.action.togglePanel}",
      "type": "shell",
      "problemMatcher": []
    }
  ]
}

你会 运行 “回显和隐藏”任务,它会 运行 你真正想要的任务,然后 运行 使用命令 ${command:workbench.action.togglePanel} 的任务在其中隐藏面板(假设那是您的终端所在的位置)。

很遗憾,您不能这样做:

"command": "echo 'I have been hidden' && ${command:workbench.action.togglePanel}"

好像不行。


或者,查看演示文稿属性:

    {
      "label": "simple echo",
      "command": "echo I have been hidden",
      "type": "shell",
      "problemMatcher": [],
      "presentation": {
        "echo": true,
        "reveal": "silent",    // <== open only on problems
        "focus": false,
        "panel": "shared",
        "showReuseMessage": true,
        "clear": false
      }
    }

如果终端关闭,这将不会打开终端(除非任务有问题)。但是当您 运行 任务时,它 不会隐藏 一个 已经打开 的终端。如果您希望终端在您 运行 任务时始终隐藏,您可能需要查看依赖任务的第一个选项。