Ich habe eine Debug-Einrichtung in Visual Studio-Code, wo ich eine externe Binärdatei ausführe, die meine JS-Dateien ausführen kann (mit duktape). Der Debug-Adapter unterstützt derzeit nur Attach-Anfragen (nicht starten), so dass ich die Binärdatei ausführen muss, bevor ich die JS-Skripte debuggen kann.
Um zu vermeiden, dass ich die Anwendung manuell starten muss, habe ich eine Aufgabe dafür erstellt und diese in meiner Datei launch.json eingestellt:
%Vor%Die Aufgabe ist so definiert:
%Vor%Das Problem besteht nun darin, dass vscode darauf wartet, dass der Pre-Launch-Task beendet wird, während die Anwendung darauf wartet, dass ein Debugger angehängt wird. Fange 22.
Wie kann ich vermeiden, dass vscode darauf wartet, dass die Pre-Launch-Aufgabe beendet wird?
Aktualisieren :
Inzwischen habe ich auf der Task-Seite von vscode nachgelesen und kam zu dieser Task-Konfiguration. Trotzdem funktioniert es nicht für mich
%Vor%Die gestartete Anwendung gibt die Wartemeldung aus und wartet dann endlos auf eine Debug-Verbindung. Vielleicht hat das Problem mit der Anwendung zu tun (die wie Node.js wie Terminal-App ist), geschrieben in C ++?
Hintergrund / Aufgaben beobachten
Einige Tools unterstützen die Ausführung im Hintergrund, während Sie das Dateisystem nach Änderungen beobachten und dann eine Aktion auslösen, wenn sich eine Datei auf der Festplatte ändert. Mit Gulp
wird diese Funktionalität über das npm Modul gulp-watch bereitgestellt. Der TypeScript-Compiler tsc
hat dafür Unterstützung über die Option --watch command
line eingebaut.
Um Rückmeldung darüber zu geben, dass eine Hintergrundaufgabe in VS Code aktiv ist und zu Problemergebnissen führt, muss ein Problem-Matcher zusätzliche Informationen verwenden, um diese state
Änderungen in der Ausgabe zu erkennen. Nehmen wir den tsc
Compiler als Beispiel. Wenn der Compiler im Überwachungsmodus gestartet wird, gibt er die folgenden zusätzlichen Informationen an die Konsole aus:
Wenn sich eine Datei auf einem Datenträger mit einem Problem ändert, wird die folgende Ausgabe angezeigt:
%Vor%Wenn Sie den Ausgang betrachten, wird das folgende Muster angezeigt:
File change detected. Starting incremental compilation...
auf die Konsole gedruckt wird. Compilation complete. Watching for file changes.
auf die Konsole gedruckt wird. File change detected. Starting incremental compilation...
auf die Konsole zu drucken). Um diese Informationen zu erfassen, kann ein Problem-Matcher eine Eigenschaft background
bereitstellen.
Für den Compiler tsc
sieht eine entsprechende Eigenschaft background
wie folgt aus:
Zusätzlich zur Eigenschaft background
im Problem-Matcher muss die Aufgabe selbst als isBackground
markiert werden, damit die Aufgabe im Hintergrund weiterläuft.
Eine vollständige handgefertigte tasks.json
für einen tsc
Task, der im Watch-Modus läuft, sieht folgendermaßen aus:
PS: Inhalt stammt aus Ссылка
Bearbeiten-1
Die Aufgabe muss als Daemon gestartet werden, dann wird nur isBackground
helfen. Du wirst also etwas wie
Tags und Links visual-studio-code vscode-tasks vscode-debugger