¿Cómo puedo iniciar el servidor Live y el depurador de Chrome para VS Code con un solo clic?

¿Cómo puedo iniciar el servidor Live y el depurador de Chrome para VS Code con un solo clic?

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 .vscodelos 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
}

información relacionada