Para proyectos web que no usan npm o ejecutores de tareas, ¿puedes hacer que el depurador de la extensión de Chrome inicie un servidor antes de que comience la depuración? Estoy usando la extensión de depuración del servidor Live y sería bueno poder iniciar la depuración con solo un clic.
¿Puedo utilizar la propiedad "preLaunchTask" de alguna manera, por ejemplo?
Respuesta1
Quiere "compuestos" como propiedad de nivel superior en su archivo launch.json
. Al igual que:
{
"version": "0.2.0",
"configurations": [
{
"name": "Server Debug",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/server/server.js",
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"skipFiles": [
"<node_internals>/**/*.js",
"${workspaceRoot}/node_modules/**/*.js"
]
},
{
"name": "Client Debug",
"type": "chrome",
"request": "launch",
"url": "http://localhost:3000/",
"webRoot": "${workspaceFolder}/clientSrc",
"skipFiles": [
"${workspaceFolder}/node_modules/",
]
}
],
"compounds": [
{
"name": "Debug Both",
"configurations": ["Server Debug", "Client Debug"]
}
]
}
Luego puedes combinar varios otros corredores en uno o más "corredores compuestos".
Respuesta2
Pude hacer que esto funcione usando preLaunchTask
. Ahora tanto el depurador como el servidor en vivo comienzan con un solo clic. Aquí están .vscode
los archivos de configuración de mi carpeta.
lanzamiento.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"port": 9222,
"request": "launch",
"type": "pwa-chrome",
"url": "http://localhost:5500",
"webRoot": "${workspaceFolder}",
"preLaunchTask": "StartServer",
"postDebugTask": "StopServer"
}
]
}
tareas.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "StartServer",
"type": "process",
"command": "${input:startServer}"
},
{
"label": "StopServer",
"type": "process",
"command": "${input:stopServer}"
}
],
"inputs": [
{
"id": "startServer",
"type": "command",
"command": "extension.liveServer.goOnline"
},
{
"id": "stopServer",
"type": "command",
"command": "extension.liveServer.goOffline"
}
]
}
settings.json (configuración del espacio de trabajo)
{
"liveServer.settings.ChromeDebuggingAttachment": true,
"liveServer.settings.CustomBrowser": "chrome",
"liveServer.settings.host": "localhost",
"liveServer.settings.NoBrowser": true
}