Ответ 1
Да, вы можете добавить предварительную задачу, которая будет спать в течение x секунд.
Допустим, у вас есть клиент и сервер на Node.js, а загрузка базы данных с сервером занимает больше времени, это вызывает проблемы с клиентом.
Задержка клиентского отладчика на vscode будет работать так же на Mac OS X
Сначала создайте задачу в той же папке, что и файл launch.json с именем tasks.json, который будет создавать команду оболочки перед запуском клиента.
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Sleepdelay",
"type": "shell",
"command": "sleep 6",
"windows": {
"command": "ping 127.0.0.1 -n 6 > nul"
},
"group": "none",
"presentation": {
"reveal": "silent",
"panel": "new"
}
}
]
}
Добавьте следующую предварительную задачу в файл launch.json сейчас, чтобы вызвать задачу.
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Client",
"url": "http://localhost:9090",
"webRoot": "${workspaceFolder}/client/src",
"breakOnLoad": true,
"sourceMapPathOverrides": {
"webpack:///./src/*": "${webRoot}/*"
},
"preLaunchTask": "Sleepdelay"
//"runtimeExecutable": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
},
{
"type": "node",
"request": "launch",
"name": "Server",
"program": "${workspaceFolder}/server/server.js",
"envFile": "${workspaceFolder}/server/.env",
"cwd": "${workspaceFolder}/server/"
}
],
"compounds": [
{
"name": "Server/Client",
"configurations": ["Server", "Client"]
}
]
Команда sleep доступна в Linux и MAC OS X. Для Windows просто используйте этот взлом вместо этого:
ping 127.0.0.1 -n 6> нуль
Теперь у вас есть простой способ отложить запуск клиента перед сервером.