Ich möchte in der Lage sein, eine Angular2-Anwendung mit Visual Studio Code zu debuggen.Debug mit Visual Studio Code funktioniert nicht
Hier ist meine Umgebung:
- OS: Ubuntu 16.10 x64
- Browser: Chromium 53.0.2785.143
- Knoten: 6.8.0
- Winkel- cli: 1.0.0-beta.19-3
ein neues Projekt mit Winkel-cli Erstellen:
ng new test-VSC-debug
cd test-VSC-debug
Dann öffne ich VSC und laden Sie das Projekt: File/open folder
ich auf dem debug
Logo klicken und ich configure launch.json
durch chrome
Auswahl. Es erzeugt die folgende Datei:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Chrome against localhost, with sourcemaps",
"type": "chrome",
"request": "launch",
"url": "http://localhost:8080",
"sourceMaps": true,
"webRoot": "${workspaceRoot}"
},
{
"name": "Attach to Chrome, with sourcemaps",
"type": "chrome",
"request": "attach",
"port": 9222,
"sourceMaps": true,
"webRoot": "${workspaceRoot}"
}
]
}
Dann habe ich nur das angular2 Projekt starten, indem Sie:
ng serve
Sobald es gestartet wurde, in VSC ich wählen: "Starten Sie Chrome gegen localhost, mit sourcemaps".
Dann erhalte ich den folgenden Fehler:
"Kann nicht finden Chrome: Installieren Sie es oder legen Sie das RuntimeExecutable-Feld in der Startkonfiguration." So
I gesetzt:
"runtimeExecutable": "Chrom-Browser"
(wie ich nicht haben Chrom aber Chrom auf meinem Ubuntu).
Angular-cli Standard-Port zum Starten der App ist 4200. Ändern Sie URL von: "http://localhost:8080" zu "http://localhost:4200".
Jetzt wird der Browser die App zu öffnen, aber VSC hat den folgenden Fehler: "Es kann keine Verbindung nach 10000 ms Prozess, Timeout zur Laufzeit - (Grund: Kann nicht an das Ziel verbinden: ECONREFUSED 127.0.0.1:9222 connect"
.Von anderen Antworten auf Stackoverflow/gitHub Probleme gefunden, ich habe gelesen, dass ich vielleicht alle Instanzen Chrom zu töten, bevor Sie versuchen, das zu tun, so dass ich nur in der Nähe Chrom und laufen killall chromium-browser
.
ich versuche, das laufen erneut debuggen: Gleicher Fehler wie zuvor (keine Verbindung möglich)
Ich habe auch gesehen, dass die folgenden Argumente helfen könnten:
"runtimeArgs": [
"--remote-debugging-port=9222",
"--user-data-dir"
]
Aber es ändert nichts.
Ich entschied mich, VSC für meine Typoskript-Devs zu verwenden (meistens angular2) und diese Art des Debuggens scheint sehr mächtig zu sein. Ich habe das Gefühl, dass es schade wäre, es nicht zu benutzen :).
Danke für jede Hilfe!
PS: Einige verwandte Fragen und Stackoverflow Github Fragen:
- Debug & Run Angular2 Typescript with Visual Studio Code?
- https://github.com/angular/angular-cli/issues/2453
- https://github.com/angular/angular-cli/issues/1936
- https://github.com/angular/angular-cli/issues/1281
EDIT 1: !!! Teilverbesserung !!! Ich habe einen Weg gefunden, Debug-Informationen innerhalb der Visual Studio Code-Konsole zu haben! Es ist also noch nicht perfekt, da Breakpoints nicht funktionieren, aber hier ist die Sache. So weit, wenn ich http://localhost:9222 geöffnet habe konnte ich nichts sehen. ("localhost autorisiert die Verbindung nicht").
ABER, wenn ich Chrom so starten:
chromium-browser --remote-debugging-port=9222 --user-data-dir=remote-profile
Das Wichtigste ist, dieses Argument zu bemerken: --user-data-dir=remote-profile
. Wenn Sie einfach --user-data-dir übergeben, startet ein neues Fenster ohne Verbindung. Aber es ist nicht genug. Sie müssen Remote-Profil als Wert übergeben.
- es öffnet sich ein neues Browserfenster
- Ich öffne http://localhost:4200 und ich kann auch http://localhost:9222 erreichen!
- Ich kann VSC mit der Option "An Chrom mit Quellkarte anhängen" verbinden! (wie Sie sehen können, habe ich die „Angular 2 wird in dem Entwicklungsmodus läuft. Rufen Sie enableProdMode(), um den Produktionsmodus zu aktivieren.“ Angezeigt in der Konsole und die Fußzeile hat jetzt einen orangefarbenen Hintergrund)
Bis jetzt hoffe ich, dass es einigen Leuten helfen kann. Aber das Problem ist jetzt, dass Breakpoints nicht funktionieren.
Ich graben weiter und werde einen weiteren Schnitt machen, wenn ich warum finde.
Arbeiten mit Angular 2.4.8 http://stackoverflow.com/questions/42495655/how-to-debug-angular-with-vscode – Asesjix