如何在 vscode 调试器中调试多个节点项目?

How to debug multiple node projects in vscode debugger?

我在两个独立的工作区中有两个独立的节点项目。我正在尝试使用 vscode 调试器调试项目,但我一次只能调试一个项目。如果我在为第一个项目启动调试器后尝试为第二个项目启动调试器,vscode 调试器会再次重新启动第一个项目。

我已经阅读了各种教程和 vscode 调试文档以及 vscode nodejs 调试但无济于事。以下是两个项目的启动配置。

项目 1(堡垒):

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch fort",
            "runtimeExecutable": "npm",
            "runtimeArgs": [
                "start"
            ],
            "envFile": "${workspaceFolder}/.env",
            "port": 9229
        }
    ]
}

scripts 属性在 package.json

中的值
"scripts": {
    "start": "node --inspect app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  }

项目 2(用户管理):

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch User Management",
            "runtimeExecutable": "npm",
            "runtimeArgs": [
                "start"
            ],
            "envFile": "${workspaceFolder}/.env",
            "port": 9229
        }
    ]
}

scripts 属性在 package.json

中的值
"scripts": {
    "start": "node --inspect server.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  }

根据我阅读 vscode 文档后的理解,如果我在工作区的 .vscode 文件夹中有单独的 launch.json,则特定配置将用于启动调试器.

也许我在文档中遗漏了一些东西,但我已经投入了足够的时间并且无法找到解决方案。

您需要使用两个单独的端口来连接调试器,例如:

项目 1:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch fort",
            "runtimeExecutable": "npm",
            "runtimeArgs": [
                "start"
            ],
            "envFile": "${workspaceFolder}/.env",
            "port": 9228
        }
    ]
}

或者如果你想附加到进程:

{
        "type": "node",
        "request": "attach",
        "name": "Attach",
        "port": 9228
}

在端口 9228 上启动节点检查:

node --inspect=9228 index.js

您可以保留第二个项目的默认值。