我有一个构建任务,至少需要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中指定多个任务?所以我只能为客户分配构建和清理任务。