2017-04-17 7 views
0

Ich versuche, meine Standard-Grunt-Aufgaben an den vscode-Debugger anzuhängen. Also mein gewünschter Arbeitsablauf ist, dass ich den Debugger starte und die Standard-Grunt-Tasks ausführt, und dann bin ich in der Lage, Breakpoints mit dem vscode-Debugger in meinen Code zu schreiben. Meine JSON-Startdatei sieht so aus.Grunt an VSCODE-Debugger anhängen

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "type": "node", 
      "request": "launch", 
      "name": "Launch Program", 
      "program": "${workspaceRoot}/node_modules/grunt/lib/grunt", 
      "args": ["run"], 
      "cwd": "${workspaceRoot}", 
      "preLaunchTask": null, 
      "runtimeExecutable": null, 
      "runtimeArgs": [ 
      "--nolazy" 
      ], 
      "env": { 
       "NODE_ENV": "production" 
      } 
     }, 
     { 
      "type": "node", 
      "request": "attach", 
      "name": "Attach to Process", 
      "port": 5858 
     } 
    ] 
} 

Aber ich bin immer ein Fehler nicht Programm starten 'node_modules/Grunzen/lib/Grunzen'; Setzen das Attribut ‚Outfiles‘

+1

Was macht deine Grunt-Aufgabe? Führt es einfach die Anwendung aus oder es gibt einen Kompilierungsschritt? Wenn es der erste ist, dann gibt es bereits viele ähnliche Fragen für Aufgabenläufer, z.B. http://stackoverflow.com/questions/203/what-is-the-proper-way-to-debug-an-npm-script-using-vscode/43212281#43212281. Wenn Ihre 'run'-Task auch Quellen kompiliert, können Sie eine Node.js debugg-Konfiguration mit einer Option 'preLaunchTask' definieren. –

+0

@jsynowiec es die letztere, können Sie mich auf, wie dies zu erreichen – lboyel

Antwort

1

helfen könnten Wenn Sie Ihren kompilierten Code debuggen möchten, haben Sie die Build-Task in tasks.json zu definieren und es dann als preLaunchTask in Ihrer launch.json Konfiguration angeben.

Denken Sie auch daran, Ihre Build-Konfiguration zu erweitern, so dass Quellkarten ausgegeben werden. Mit Quellkarten können einzelne Haltepunkte in der ursprünglichen Quelle schrittweise durchlaufen oder gesetzt werden.

Sie müssen die Aufgaben in einer tasks.json Datei konfigurieren (befindet sich unter Ihrem Arbeitsbereich .vscode Ordner). Wenn Sie nicht bereits eine tasks.json-Datei haben, die Aufgaben ausführen: Konfigurieren Sie Task-Runner Aktion von der Befehlspalette ( + + P auf macOS oder F1 auf Windows/Linux) bieten Sie eine Reihe von Vorlagen zur Auswahl. Wählen Grunt aus der Liste, und es wird eine Datei erzeugen, die wie folgt aussehen:

{ 
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format 
    "version": "0.1.0", 
    "command": "grunt", 
    "isShellCommand": true, 
    "args": ["--no-color"], 
    "showOutput": "always" 
} 

jetzt Sie Ihre Build-Task definieren:

{ 
    ... 
    "showOutput": "always", 
    "tasks": [ 
    { 
     "taskName": "build", 
     "args": [], 
     "isBuildCommand": true 
    } 
    ] 

Unter der Annahme, dass Ihr Grunt baut Ihre App src/app.js-dist können Sie Ihre Startkonfiguration wie folgt definieren:

{ 
    "type": "node", 
    "request": "launch", 
    "name": "Launch", 
    "program": "${workspaceRoot}/src/app.js", 
    "sourceMaps": true, 
    "outFiles": ["${workspaceRoot}/dist/**/*.js"], 
    "preLaunchTask": "build" 
} 

Sie mehr in der Dokumentation VS-Code lesen können - Node.js Debugging in VS Code.

+0

Dankeschön, das war sehr hilfreich – lboyel