如何在使用 VS Code 调试之前执行批处理文件

Tsc*_*eck 3 debugging npm typescript visual-studio-code

我正在使用 Typescript、nodeJS 和 VS Code 进行开发。

使用 VS Code 进行调试,我的launch.json.

{
        "type": "node",
        "request": "launch",
        "name": "Launch via NPM",
        "runtimeExecutable": "npm",
        "runtimeArgs": [
            "run-script",
            "debug"
        ],
        "port": 9229
},
Run Code Online (Sandbox Code Playgroud)

是否可以在服务启动之前运行批处理文件?使用控制台我通常会运行它

env.cmd
npm start
Run Code Online (Sandbox Code Playgroud)

Laj*_*lay 6

您应该使用指定的“标识符”创建一个要在调试之前执行的新任务,并将其作为“preLaunchTask”放入您的launch.json(任务类型也可以是将作为shell执行的“shell类型”命令)

例如:我在 launch.json 中的 build:test 任务:

 {
    "type": "npm",
    "script": "build:test",
    "identifier": "buildtest",
    "group": {
        "kind": "test",
        "isDefault": true
    }
}
Run Code Online (Sandbox Code Playgroud)

以及相关的调试任务:

{
    "type": "node",
    "request": "launch",
    "name": "Mocha Tests",
    "preLaunchTask": "buildtest",
    "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
    "args": [
        "-u",
        "tdd",
        "--timeout",
        "999999",
        "--colors",
        "${workspaceFolder}/temp/test/index.js"
    ],
    "internalConsoleOptions": "openOnSessionStart"
}
Run Code Online (Sandbox Code Playgroud)