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

时间:2018-04-03 15:24:13

标签: visual-studio-code vscode-tasks

我有一个构建任务,至少需要2秒才能完成tasks.json。
我还有一些非常快速的任务来清理tasks.json中的一些文件。

我在launch.json中有3个配置:server,server_running_on_top_of_server和client。
所有这些都可以单独运行,因此所有这些都应该将构建作为preLaunchTask。

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

但是当我想将这3种配置作为一个复合物运行时,它不是很直观。
我想首先运行构建任务,然后运行服务器,然后服务器启动,然后运行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"]
    }

"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"
        ]
    }
]

但构建任务以这种方式运行3次,并且在3个终端中也分别运行,即使是presentation.panel:“shared”,所以它使用12个核心而不是4个,所以它完全滞后于我的PC。
如何解决这个问题?

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

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

0 个答案:

没有答案