任何来源或想法,如何在VSCode中延迟合成?

Luk*_*ich 6 visual-studio-code vscode-tasks

我在task.json中有一个至少需要2秒钟才能完成的构建任务。
我还有另一个非常快速的任务,用于清理task.json中的某些文件。

我在launch.json中有3种配置:服务器,server_running_on_top_of_server和客户端。
它们都可以单独运行,因此它们都应将构建作为preLaunchTask。

因此,如果我分别使用build作为preLaunchTask运行这3种配置,并在build的dependsOn中指定清理,那就很好了。

但是,当我想将这三种配置作为一个组合一起运行时,这不是很直观。
我想先运行构建任务,然后运行服务器,然后在服务器启动后运行server_running_on_top_of_server和客户端。
清理配置应仅针对客户端运行,但可以在每次构建任务运行时运行。

"compounds": [
    {
        "name": "server, server_running_on_top_of_server and client",
        "configurations": ["server", "server_running_on_top_of_server", "client"]
    }
Run Code Online (Sandbox Code Playgroud)

"tasks": [
    {
        "label": "build",
        "type": "shell",
        "command": "make",
        "args": [
            "-j4",
            "debug"
        ],
        "group": {
            "kind": "build",
            "isDefault": true
        },
        "dependsOn": "delete something",
        "presentation": {
            "panel": "shared"
        }
    },
    {
        "label": "delete something",
        "type": "shell",
        "command": "rm",
        "args": [
            "-f", "something"
        ],
        "presentation": {
            "panel": "shared"
        }
    },
    {
        "label": "wait 5 seconds",
        "type": "shell",
        "command": "sleep",
        "args": [
            "5"
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

但是构建任务以这种方式运行了3次,并且即使在具有presentation.panel的情况下,也分别在3个终端中运行,因此,它使用12个内核而不是4个内核,因此完全落后于我的PC。
如何解决?

以及在服务器启动后如何运行其余2种配置?有没有比创建另一个等待一段时间的任务更好的方法?

是否可以在preLaunchTask中指定多个任务?因此,我只能为客户端分配构建和清理任务。