使用 VSCode 调试自定义 Yeoman 生成器

Debugging custom Yeoman generator using VSCode

有一段时间 VSCode 调试我正在开发的自定义 Yeoman 生成器。

Yeoman 文档说要像这样执行生成器:

node --debug `which yo` <generator> [arguments]

我使用 node-inspector 完成了这项工作。我在一个终端 window 中启动节点检查器,然后在另一个 window 中执行上述操作 & 当我使用节点检查器站点启动浏览器时,我可以在我的 yeoman 生成器脚本。

现在我正在尝试使用 VSCode 进行设置。我在这里不需要节点检查器...所以我设置了一个启动配置,如下所示:

{
    // Name of configuration; appears in the launch configuration drop down menu.
    "name": "Launch yeoman generator-nodehttps",
    // Type of configuration. Possible values: "node", "mono".
    "type": "node",
    // Workspace relative or absolute path to the program.
    "program": "/Users/ac/.npm-packages/lib/node_modules/yo/lib/cli.js",
    // Automatically stop program after launch.
    "stopOnEntry": false,
    // Command line arguments passed to the program.
    "args": ["nodehttps"],
    // Workspace relative or absolute path to the working directory of the program being debugged. Default is the current workspace.
    "cwd": ".",
    // Workspace relative or absolute path to the runtime executable to be used. Default is the runtime executable on the PATH.
    "runtimeExecutable": null,
    // Environment variables passed to the program.
    "env": { }
}

我的 程序 属性 不同的原因是因为 which yo (单引号或未引号)从 VSCode那个“哪个哟不存在

它成功启动了一个新终端 window 并且我可以与生成器交互,但是 none 我的断点被击中了,我也没有在 VSCode 中看到任何东西调用堆栈/变量 window... 但是 VSCode 似乎附加到进程(编辑器底部的橙色条)。

但无论我如何调整,我似乎都无法 VSCode 调试我的生成器...想法?

运行 'which yo' 结果为“/usr/local/bin/yo”。我建议将其用于 'program' 属性。另外将 'stopOnEntry' 设置为 true 以便您可以看到发生了什么。对我来说,使用 VSCode 调试 yo 使用此启动配置:

{
    "name": "yo",
    "type": "node",
    "program": "/usr/local/bin/yo",
    "args": ["nodehttps"],
    "stopOnEntry": true
}