1

我有一个使用and构建的Node CLI。我目前正在尝试使用 VS Code 调试应用程序。CommanderInquirer

我目前的launch.json配置:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch TS Node",
            "program": "${workspaceFolder}/index.js",
            "preLaunchTask": "npm: build",
            "skipFiles": ["<node_internals>/**"],
            "outFiles": ["${workspaceFolder}/dist/index.js"],
            "args": ["new", "-i"],
            "console": "integratedTerminal",
            "sourceMaps": true,
            "autoAttachChildProcesses": true
        },

    ]
}

这是为了停止我的应用程序并允许我通过集成终端输入输入,但是,它似乎并没有真正附加子进程(?)或其他任何东西,因为查看我的调试器,细节都是空白的在该过程停止时:

调试器暂停

此外,虽然我在函数中有几个断点newNote(这是我通过argsin 调用的launch.json),但它们不会被绊倒。

我发现这个VS Code 资源对调试 Node 应用程序非常有帮助,但似乎无法理解我所缺少的。

Inquirer也有这样的说法:

调试独立的可执行子命令

可执行子命令作为单独的子进程启动。

如果您使用节点检查器来调试使用 node --inspect 等的可执行子命令,则检查器端口会为生成的子命令增加 1。

如果您使用 VSCode 调试可执行子命令,则需要在您的 launch.json 配置中设置 "autoAttachChildProcesses": true 标志。

问题是否需要进行设置/更改以允许我在应用程序暂停以在 Inquirer 中提问时实际查看应用程序的状态?

4

0 回答 0