2

Ich benutze normalerweise Webstorm, aber nach einigen Jahren Erfolg mit Webstorm habe ich einige seltsame Probleme, also probiere ich VSCode aus - ich würde es gerne können ein Skript debuggen - Ich habe ungefähr 60 oder 70 Node.js-Skripte, die ich regelmäßig laufe. Ich möchte nicht für jeden eine separate Konfiguration einrichten, wenn ich es vermeiden kann.Debuggen eines beliebigen/zufälligen Skripts mit Visual Studio Code

Ich kann immer Chrome Debugger-Tools verwenden, um dies zu tun:

node --inspect-brk my-script.js 

aber ich bin auf der Suche nach einer Möglichkeit, direkt das VSCode IDE zu verwenden, statt die Öffnung des Chrome-Browser. Webstorm hat eine nette Funktion, mit der Sie direkt in der IDE debuggen können, und ich bin zu 99% sicher, dass VSCode das auch tut.

Aber ich kann nicht für das Leben von mir herausfinden, wie man ein einfaches Node.js-Skript debuggt. Hier sind die Optionen, die ich sehe:

enter image description here

und dann dem:

enter image description here

Ich setze auf „Launch-Programm“ als derjenige zu sein, aber das ist der Fehler, den ich erhalten:

enter image description here

ist die launch.json Konfigurationsdatei, anyone Wissen, wie ich das einrichten kann, damit ich jedes Skript debuggen kann, das ich möchte?

{ 
    // Use IntelliSense to learn about possible attributes. 
    // Hover to view descriptions of existing attributes. 
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "type": "node", 
      "request": "launch", 
      "name": "Launch Program", 
      "program": "${workspaceFolder}/${alex_debug_script}" 
     }, 
     { 
      "type": "node", 
      "request": "attach", 
      "name": "Attach by Process ID", 
      "processId": "${command:PickProcess}" 
     }, 
     { 
      "type": "node", 
      "request": "attach", 
      "name": "Attach by Process ID", 
      "processId": "${command:PickProcess}" 
     }, 
     { 
      "type": "node", 
      "request": "attach", 
      "name": "Attach", 
      "port": 9229 
     }, 
     { 
      "type": "chrome", 
      "request": "launch", 
      "name": "Launch Chrome", 
      "url": "http://localhost:8080", 
      "webRoot": "${workspaceRoot}" 
     }, 
     { 
      "type": "chrome", 
      "request": "launch", 
      "name": "Launch Chrome against localhost", 
      "url": "http://localhost:8080", 
      "webRoot": "${workspaceRoot}" 
     } 
    ] 
} 

wie Sie sehen können, habe ich versucht, eine env Variable ${alex_debug_script} verwenden, aber das hat nicht ganz funktioniert, wie Sie von der roten Fehlermeldung im Screenshot oben sehen können.

Schließlich haben wir diese Ansicht, die global launch settings:

enter image description here

Ich werde ehrlich sein, WebStorm dies machte ein wenig leichter, aber ich habe Geduld!

+0

Die Antwort, die ich hinzugefügt habe, ist nur eine halbe Antwort, ich suche nach einer vollständigen Antwort auf die Frage, die uns erlaubt, ein Skript zu debuggen, ohne es vordefinieren zu müssen! – Olegzandr

Antwort

1

Hier ist, wie Sie es tun, es in der Dokumentation ist

https://code.visualstudio.com/docs/editor/debugging

heißt es:

Global Launch Configuration 
We support adding a "launch" object inside your user settings. This "launch" configuration will then be shared across your workspaces. For example: 

"launch": { 
    "version": "0.2.0", 
    "configurations": [{ 
     "type": "node", 
     "request": "launch", 
     "name": "Launch Program", 
     "program": "${file}" 
    }] 
} 

kopieren Sie das Objekt, und legen Sie sie in Ihrem lokalen/Arbeitsplatz launch.json Datei:

wie so:

{ 
     "type": "node", 
     "request": "launch", 
     "name": "Launch Node.js file", 
     "program": "${file}" 
    }, 

jetzt, wenn Sie wählen diese:

enter image description here

Es wird debuggen je nachdem, was Datei im Editor ausgewählt ist.

Dies ist nicht super ideal, da ich glaube, wir würden alle nur bevorzugen, mit der rechten Maustaste auf die Datei, die wir debuggen möchten, also wenn jemand weiß, wie das zu tun, bitte beraten.

1

So kann ich herausfinden, wie ein vordefiniertes Skript zu debuggen, füge ich dies als eine Konfiguration in launch.json:

{ 
     "type": "node", 
     "request": "launch", 
     "name": "FooBarBaz", 
     "program": "${workspaceFolder}/test/src/dev/node/1.test.js" 
    }, 

jetzt, wenn ich auf das Dropdown-Menü, ich sehe:

enter image description here

Aber das Problem ist, ich will das nicht haben für 60 oder 70 verschiedene Skripte zu tun, das ist dumm. Was ich in der Lage sein sollte, ist nur mit der rechten Maustaste auf ein Skript, das ich debuggen möchte, und debuggen das verdammte Ding.

Jeder weiß? Dies ist nur eine halbe Antwort.

Verwandte Themen