Können Sie bei Webprojekten, die weder npm noch Task Runner verwenden, den Debugger für die Chrome-Erweiterung irgendwie dazu bringen, einen Server zu starten, bevor er mit dem Debuggen beginnt? Ich verwende die Live-Server-Debugging-Erweiterung und es wäre schön, das Debuggen mit nur einem Klick starten zu können.
Kann ich beispielsweise irgendwie die Eigenschaft „preLaunchTask“ verwenden?
Antwort1
Sie möchten „Verbindungen“ als oberste Eigenschaft in Ihrem launch.json
. So:
{
"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"]
}
]
}
Mehrere weitere Läufer können Sie dann zu einem oder mehreren „Compound-Läufern“ zusammenfassen.
Antwort2
Ich konnte dies mit zum Laufen bringen preLaunchTask
. Jetzt starten sowohl der Debugger als auch der Live-Server mit einem Klick. Hier sind meine .vscode
Ordnerkonfigurationsdateien.
Datei "launch.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"
}
]
}
Aufgaben.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 (Arbeitsbereichseinstellungen)
{
"liveServer.settings.ChromeDebuggingAttachment": true,
"liveServer.settings.CustomBrowser": "chrome",
"liveServer.settings.host": "localhost",
"liveServer.settings.NoBrowser": true
}