可以将Visual Studio Codeconfiguration为使用nodemon启动

我已经在我的系统中安装了nodemon作为全局包。 它在我在cmd中执行nodemonnodemon

但是当我用这个launch.json文件使用vscode时,vscode抛出这个exception:

请求启动:运行时可执行文件XXX \ XXX \ XXX \ XXX \ nodemon不存在

launch.json是:

 { "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "node", "request": "launch", "program": "app.js", "stopOnEntry": false, "args": [], "cwd": ".", "runtimeExecutable": nodemon, "runtimeArgs": [ "--nolazy" ], "env": { "NODE_ENV": "development" }, "externalConsole": false, "preLaunchTask": "", "sourceMaps": false, "outDir": null }, { "name": "Attach", "type": "node", "request": "attach", "port": 5858 } ] } 

当我删除runtimeExecutable中的runtimeExecutable它完美地运行与节点

首先,将nodemon安装为开发依赖项:

 npm install --save-dev nodemon 

然后,像这样设置你的启动configuration:

 { "version": "0.2.0", "configurations": [ { "name": "Launch with nodemon", "type": "node", "request": "launch", "program": "${workspaceRoot}/node_modules/nodemon/bin/nodemon.js", "args": ["${workspaceRoot}/index.js"], "runtimeArgs": ["--nolazy"] } ] } 

最重要的部分是指向nodemon脚本的program属性和保存正常入口点脚本的args属性。

在Visual Studio代码中创build一个启动configuration:

 { "name": "Attach", "type": "node", "request": "attach", "port": 5858, "restart": true } 

从命令行运行nodemon: nodemon --debug server.js

现在从VC和vuala'附加'。

我无法得到@ AdrianT的答案与附加的debugging器一起工作。 似乎有一个新的内置支持的方式来做到这一点:

  1. 打开启动configuration下拉菜单并select“添加configuration…”
  2. select“Node.js:Nodemon设置”

它会将这样的内容添加到launch.json中:

 { "type": "node", "request": "launch", "name": "nodemon", "runtimeExecutable": "nodemon", "program": "${workspaceRoot}/app.js", "restart": true, "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" } 

确保你的“程序”设置是你正确的入口点脚本。

您需要全局安装nodemon才能使其工作(npm install -g nodemon)(根据文档 )

你的应用程序现在运行,你可以设置断点,将命中和控制台login到集成terminal窗口。

请注意,终止debugging会话只会终止程序debugging,而不是nodemon本身。 要终止nodemon,请在集成terminal中按Control-C。

不,目前它不能。 但是我设法使用nodemon有点工作。 我从Grunt开始。 但是一个等效的命令行也应该这样做。

编辑 :经过一个晚上的testing,我可以说下面的方法仍然有点flappy:S,附加失败间歇,有时断点被忽略。

EDIT2 :你也可以使用['--debug-brk=5860']nodeArgs在Gruntfile中指定一个非默认debugging端口。 我也build议使用--debug-brk而不是--debug 。 也许这会消除目前的飘忽。 如果有帮助的话,我会回来再提一下(我目前已经改变了项目)。

在这种情况下,它可以帮助任何人在Windows 10中使用Current VS Code版本(例如v0.10.6)中的设置。但是它也可能在Mac上也可以工作(我可能会在以后检查)。 但是请注意,我有时必须通过在debugging器启动之前更改+保存文件来触发重build。

/.vscode/launch.json

 { "configurations": [{ "name": "Launch", "outDir": null },{ "name": "Attach", "type": "node", "request": "attach", "port": 5858 }] 

}

/Gruntfile.js

 nodemon : { dev : { script : 'launcher.js' }, options : { ignore : ['node_modules/**', 'Gruntfile.js'], nodeArgs: ['--debug'], env : { PORT : '4123' } } } 

我想debugging端口5858是默认的,因为它没有在这里指定(注意它在上面的launch.json中)。

我使用Node Exec插件。 它允许您通过按F8和F9(适用于编辑器中的打开文件)在vcs中运行和停止节点应用程序。 这可能有助于(临时)解决方法。

是的你可以! 从最近的更新中,您可以将debugging器附加到正在运行的Nodemon进程。 这个页面有更多的信息 。 search页面上的nodemon以查看说明。