简体   繁体   English

运行工头从视觉工作室代码launch.json开始

[英]Running foreman start through visual studio code launch.json

Currently, I am running my solution by typing foreman start into the command line and that is working fine. 目前,我通过在命令行输入foreman start来运行我的解决方案,并且工作正常。 I'm trying to debug my code using visual studio code. 我正在尝试使用visual studio代码调试我的代码。 In order to do so, I have created a launch.json file: 为此,我创建了一个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
        }
    ]
}

I have created a tasks.json file to try to start the program from that point: 我创建了一个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
        }
    ]
}

When I run foreman start normally, I see this output: 当我正常运行foreman start ,我看到这个输出:

$ 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

If I debug in this current state, the output from the console is: 如果我在当前状态下调试,控制台的输出是:

Failed to launch external program start --no-color.
spawn start ENOENT

If I change my program to point to gulp: 如果我改变我的程序指向gulp:

"program": "${workspaceRoot}/node_modules/.bin/gulp",

It gives me something a little more promising, but because it isn't foreman, it doesn't run everything I need. 它给了我一些更有希望的东西,但因为它不是工头,它不会运行我需要的一切。

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

Does anyone know how to debug foreman start from visual studio code? 有谁知道如何从Visual Studio代码调试foreman start

This will run foreman start as shell command. 这将作为shell命令运行foreman start Press F1 , type Run Task , Enter and select development task. F1键 ,输入Run TaskEnter并选择development任务。

tasks.json tasks.json

{
    "version": "0.1.0",
    "command": "foreman",
    "isShellCommand": true,
    "tasks": [
        {
            "suppressTaskName": true,
            "taskName": "development",
            "args": [
                "start"
            ],
            "isWatching": true
        }
    ]
}

If you want to debug a web application you should take a look at vscode-chrome-debug if it is a node application you have to set the entry point of your app as program in launch.json "program": "${workspaceRoot}/app.js" 如果你想调试一个web应用程序,你应该看看vscode-chrome-debug如果它是一个节点应用程序,你必须将你的应用程序的入口点设置为launch.json "program": "${workspaceRoot}/app.js"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM