目前,我通过在命令行输入foreman start来运行我的解决方案,并且工作正常.我正在尝试使用visual studio代码调试我的代码.为此,我创建了一个launch.json文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/package.json",
"stopOnEntry": false,
"args": [],
"cwd": "${workspaceRoot}",
"preLaunchTask": "start",
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"externalConsole": false,
"sourceMaps": false,
"outDir": null
},
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 5858,
"address": "localhost",
"restart": false,
"sourceMaps": false,
"outDir": null,
"localRoot": "${workspaceRoot}",
"remoteRoot": null
}
]
}
我创建了一个tasks.json文件,试图从那一点开始程序:
{
"version": "0.1.0",
"command": "start",
"isShellCommand": true,
"args": [
"--no-color"
],
"tasks": [
{
"taskName": "test",
"args": [],
"isTestCommand": true
},
{
"suppressTaskName": true,
"taskName": "start",
"args": [
"foreman",
"start"
],
"isBuildCommand": true
}
]
}
当我正常运行工头时,我看到这个输出:
$foreman start
12:00:59 web.1 | started with pid 22641
12:00:59 workers.1 | started with pid 22642
12:00:59 intermediary.1 | started with pid 22643
12:01:00 web.1 | [INFO] Node app is running at localhost: 3777
如果我在当前状态下调试,控制台的输出是:
Failed to launch external program start --no-color.
spawn start ENOENT
如果我改变我的程序指向gulp:
"program": "${workspaceRoot}/node_modules/.bin/gulp",
它给了我一些更有希望的东西,但因为它不是工头,它不会运行我需要的一切.
node --debug-brk=16751 --nolazy node_modules/.bin/gulp
Debugger listening on port 16751
[16:23:17] Using gulpfile ~/Git/backend/gulpfile.js
[16:23:17] Starting 'watch'...
[16:23:18] Finished 'watch' after 125 ms
[16:23:18] Starting 'default'...
[16:23:18] Finished 'default' after 13 μs
有谁知道如何从Visual Studio代码调试工头开始?
最佳答案 这将作为shell命令运行foreman start.按F1键,输入Run Task,Enter并选择开发任务.
tasks.json
{
"version": "0.1.0",
"command": "foreman",
"isShellCommand": true,
"tasks": [
{
"suppressTaskName": true,
"taskName": "development",
"args": [
"start"
],
"isWatching": true
}
]
}
如果要调试Web应用程序,您应该查看vscode-chrome-debug,如果它是节点应用程序,则必须将应用程序的入口点设置为launch.json“program”中的程序:“${workspaceRoot} /app.js “