Effektives Debuggen und Codequalität sind untrennbare Konzepte in der Softwareentwicklung. Die Debugging-Funktionalität von Visual Studio (VS) Code wird hauptsächlich durch die Datei launch.json gesteuert. Mit dieser Datei können Entwickler ihre Debugging-Einstellungen entsprechend ihrer Vision konfigurieren und verwalten.
Dieser Artikel führt Sie durch das Öffnen und Verwalten der Datei launch.json für optimales Debuggen.
Öffnen von launch.json in Visual Studio Code
Um die VS Code-Debugeinstellungen zu konfigurieren und zu verwalten, benötigen Sie Zugriff auf die Datei launch.json. Diese Datei spielt eine entscheidende Rolle bei der Debug-Anpassung.
- Öffnen Sie Visual Studio Code.
- Drücken Sie Strg + Umschalt + P, um die Befehlspalette zu öffnen.
- Geben Sie „Open launch.json“ in die Befehlspalette ein und drücken Sie die Eingabetaste. Dadurch sollte die Datei launch.json für Sie geöffnet werden.
- Wenn die Datei „launch.json“ nicht geöffnet wird, überprüfen Sie, ob der Ordner „.vscode“ im Stammordner Ihres Projekts vorhanden ist.
- Falls er nicht vorhanden ist, erstellen Sie einen neuen Ordner namens „.vscode“ in Ihrem Benutzerordner.
- Erstellen Sie eine neue Datei „launch.json“ und platzieren Sie sie in diesem Ordner.
Nach der Aktivierung ist die Datei launch.json zur Konfiguration bereit.
Übersicht zur Launch.json-Struktur
In launch.json werden die Abschnitte „Version“ und „Konfigurationen“ angezeigt. Der Abschnitt „Konfigurationen“ ist ein Array mit verschiedenen Debugoptionen, die Sie zum Konfigurieren Ihres Debugschemas verwenden.
Jedes Objekt im Array „Konfigurationen“ stellt ein Debug-Szenario dar. Diese Objekte haben Eigenschaften, die die Debug-Umgebung definieren, wie etwa die Sprach-, Programm- und Debugger-Einstellungen.
In launch.json-Konfigurationen finden Sie unter anderem die folgenden allgemeinen Eigenschaften:
- „Name“ – Ein leserfreundlicher Name für die Konfiguration, um sie im Dropdown-Menü zu identifizieren.
- „Typ“ – Gibt den Typ des Debuggers an (z. B. „Node“, „Python“ oder „cppvsdbg“).
- „Anfrage“ – Bestimmt den Anfragetyp, entweder „Starten“ (um eine neue Instanz zu starten) oder „Anhängen“ (um den Debugger an einen bestehenden Prozess anzuhängen).
- „Programm“ – Dateipfad für die Datei, die Sie debuggen möchten.
- „args“ – Ein Array von Befehlszeilenargumenten, die während des Debuggens an das Programm übergeben werden sollen.
- „preLaunchTask“ – Eine Aufgabe, die vor dem Starten des Debuggers ausgeführt werden soll.
Wenn Sie die Dateistruktur von launch.json verstehen, wissen Sie, welche Optionen Sie beim Anpassen Ihrer Debugging-Umgebung ändern und welche Sie unverändert lassen sollten.
Konfigurieren der Starteinstellungen für verschiedene Sprachen
Die Schritte zum Konfigurieren der Starteinstellungen können je nach Sprache leicht variieren. Hier sind die Schritte für mehrere gängige Sprachen.
JavaScript und TypeScript
- Erstellen Sie eine neue Datei launch.json und konfigurieren Sie die Eigenschaft „type“ als „node“ für JavaScript oder „pwa-node“ für TypeScript.
- Setzen Sie die Eigenschaft „Anforderung“ auf „Starten“ oder „Anhängen“.
- Sie sollten die Einstiegspunktdatei mit der Eigenschaft „Programm“ angeben.
Python
- Installieren Sie den Python-Interpreter und die Erweiterung für Visual Studio Code.
- Setzen Sie die Eigenschaft „Typ“ in einer neuen Datei „launch.json“ auf „Python“.
- Konfigurieren Sie die Eigenschaft „Anforderung“ als „Starten“ oder „Anhängen“.
- Geben Sie die auszuführende Python-Datei mit der Eigenschaft „Programm“ an.
- Möglicherweise müssen Sie die Eigenschaft „pythonPath“ zusätzlich auf den Pfad des Python-Interpreters setzen, wenn dieser sich nicht am Standardspeicherort befindet.
C und .NET Core
- Installieren Sie die C-Erweiterung für Visual Studio Code.
- Legen Sie in der neuen Datei launch.json die Eigenschaft „type“ auf „coreclr“ für .NET Core oder „clr“ für .NET Framework fest.
- Konfigurieren Sie die Eigenschaft „Anforderung“ als „Starten“ oder „Anhängen“.
- Geben Sie die Einstiegspunktdatei mit der Eigenschaft „Programm“ an.
- Legen Sie bei Bedarf die Eigenschaft „cwd“ auf das Arbeitsverzeichnis des aktuellen Projekts fest.
Java
- Installieren Sie das Java Extension Pack.
- Erstellen Sie eine neue Datei launch.json und legen Sie die Eigenschaft „type“ auf „java“ fest.
- Konfigurieren Sie die Eigenschaft „Anforderung“ als „Starten“ oder „Anhängen“.
- Geben Sie die Hauptklasse mit der Eigenschaft „mainClass“ an.
- Legen Sie die Eigenschaft „projectName“ auf den Namen Ihres Java-Projekts fest.
- Konfigurieren Sie die Eigenschaft „classpath“, um die Java-Bibliotheken einzuschließen, die Sie während Ihrer Java-Entwicklung verwenden werden.
Debuggen von Konfigurationsrezepten
Der folgende Abschnitt behandelt verschiedene Rezepte zur Debugkonfiguration.
Anfügen des Debuggers an einen laufenden Prozess
So hängen Sie den Debugger an einen laufenden Prozess an:
- Setzen Sie die Eigenschaft „Anforderung“ auf „Anhängen“.
- Wählen Sie die Prozess-ID oder den Filter, um den zu debuggenden Prozess zu finden.
Remote-Anwendungsdebugging
Zum Remote-Debuggen von Anwendungen:
- Verwenden Sie einen „Remote“-Typ.
- Geben Sie die Adresse, den Port und möglicherweise die Authentifizierungsinformationen des Hosts an, um eine Verbindung herzustellen.
Debuggen von Unittests und Testsuites
Beim Debuggen von Unit-Tests und Test-Suites:
- Verwenden Sie eine Konfiguration, die das Testframework und die Einstellungen zum Debuggen von Unittests und Test-Suites enthält.
- Definieren Sie die Testsuite oder einzelne Testdateien in der Eigenschaft „Programm“ oder „Argumente“, um gezielt auf bestimmte Tests zuzugreifen.
Übergeben von Umgebungsvariablen
Die Eigenschaft „env“ in launch.json kann beim Debuggen Umgebungsvariablen an Ihre Anwendung übergeben. Diese Eigenschaft ist ein Objekt, das Schlüssel-Wert-Paare für die Umgebungsvariablen enthält, die Sie festlegen möchten.
Erweitertes Debuggen
Lassen Sie uns einige erweiterte Debugging-Techniken für Benutzer erkunden, die etwas mehr Leistung aus den Debug-Dateien herausholen möchten.
Bedingte Haltepunkte und Logpoints
Bedingte Haltepunkte und Protokollpunkte verbessern das Debuggen, indem sie Nachrichten nur unter bestimmten Bedingungen anhalten oder protokollieren. So verwenden Sie sie:
- Klicken Sie mit der rechten Maustaste auf die Zeilennummer, an der Sie einen Haltepunkt oder Protokollpunkt setzen möchten.
- Wählen Sie „Bedingten Haltepunkt hinzufügen“ oder „Logpoint hinzufügen“.
- Geben Sie die Bedingung oder Nachricht ein, um die Aktion auszulösen.
Quellkarten
Mithilfe von Quellzuordnungen können Sie Code debuggen, der transformiert oder minimiert wurde.
- Setzen Sie die Eigenschaft „sourceMap“ in Ihrer launch.json-Konfiguration auf „true“, um Quellzuordnungen zu verwenden.
- Stellen Sie sicher, dass Ihr Build-Prozess Quellzuordnungen und den transformierten Code generiert.
Integrieren externer Debugger
Sie können bei Bedarf externe Debugger und Tools wie gdb oder lldb in VS Code integrieren.
- Installieren Sie die Debugger-Erweiterung Ihrer Wahl.
- Konfigurieren Sie die Einstellungen des Debuggers in der Datei launch.json.
Debuggen von Multithread-Anwendungen
Beim Debuggen von Multithread-Anwendungen können Sie die Ausführung einzelner Threads steuern.
- Verwenden Sie die Ansicht „Threads“ in der Debug-Seitenleiste, um die Threads während einer Debug-Sitzung zu verwalten.
- Sie können die Codeausführung für jeden Thread separat anhalten, fortsetzen oder schrittweise durchführen.
Debuggen mehrerer Ziele
Zusammengesetzte Startkonfigurationen ermöglichen das gleichzeitige Debuggen mehrerer Ziele. Wenn Sie diese Funktion nutzen möchten, fügen Sie ein „Compounds“-Array mit Konfigurationsnamen hinzu, die gruppiert werden sollen. Führen Sie sie aus, indem Sie den zusammengesetzten Konfigurationsnamen aus dem Dropdown-Menü „Debuggen“ auswählen.
Konfigurieren Sie mehrere Startkonfigurationen für unterschiedliche Dienste, Funktionen oder Endpunkte, um Microservices und serverlose Anwendungen zu debuggen. Verwenden Sie zusammengesetzte Startkonfigurationen, um diese Ziele gemeinsam auszuführen.
Erstellen Sie für Multi-Root-Arbeitsbereiche separate launch.json-Dateien für jeden Ordner. Konfigurieren Sie die Starteinstellungen für jeden Root-Ordner einzeln, um Projekte separat oder gleichzeitig mithilfe von Compounds zu debuggen.
Fehlerbehebung bei häufigen Problemen mit launch.json
Manchmal ist das Debuggen anfällig für eigene Fehler. Sehen wir uns einige häufige Probleme und ihre Behebung an.
Schemavalidierungsfehler
Schemavalidierungsfehler treten auf, wenn eine launch.json-Datei ungültige Eigenschaften oder Werte aufweist. So beheben Sie Schemafehler:
- Überprüfen Sie die Fehlermeldungen im Bereich „Probleme“.
- Aktualisieren Sie die Datei launch.json entsprechend den Informationen aus der Fehlermeldung.
Debuggen von Fehlern
Falsche Starteinstellungen können zu Debugging-Fehlern führen.
- Überprüfen Sie Ihre Startkonfigurationen auf falsche Dateipfade.
- Überprüfen Sie fehlende oder falsche Debugger- oder Anforderungstypen.
- Aktualisieren Sie die Einstellungen nach Bedarf.
Diagnostizieren von Startkonfigurationsproblemen
So diagnostizieren Sie Probleme mit Startkonfigurationen:
- Aktivieren Sie die Diagnoseprotokollierung, indem Sie die Eigenschaft „trace“ auf „verbose“ setzen.
- Überprüfen Sie die generierten Protokolle in der Debug-Konsole, um etwaige Probleme zu identifizieren und zu beheben.
Tipps für launch.json
Nutzen Sie launch.json optimal mit diesen Tipps:
- Verwenden Sie aussagekräftige Namen für Ihre Startkonfigurationen, damit diese leicht erkennbar sind. Auf diese Weise können Sie beim Arbeiten mit mehreren Debugging-Szenarien schnell die entsprechende Konfiguration finden.
- Geben Sie Startkonfigurationen an Ihr Team weiter, indem Sie die Datei launch.json in das Versionskontrollsystem Ihres Projekts aufnehmen. Jedes Teammitglied kann auf dieselben Debugkonfigurationen und -einstellungen zugreifen.
- Versionskontrollsysteme wie Git können Änderungen an Ihrer Datei launch.json verfolgen. Sie können die Versionskontrolle verwenden, um zu vorherigen Konfigurationen zurückzukehren und mit anderen Teammitgliedern zusammenzuarbeiten, indem Sie empfohlene Einstellungen mit ihnen teilen.
- Installieren Sie Erweiterungen, die bestimmte Sprachen, Debugger oder Tools unterstützen, die den Anforderungen des Projekts entsprechen. Konfigurieren Sie die Datei launch.json, um diese Erweiterungen und ihre Funktionen während Debugsitzungen zu verwenden.
Beginnen Sie mit dem Debuggen
Indem Sie die Leistung von launch.json nutzen, können Sie Ihr Debugging-Erlebnis optimal an Ihren Codierstil anpassen. Dadurch verbessern Sie die Qualität und Leistung Ihres Codes.
Wie oft müssen Sie Ihre Starteinstellungen konfigurieren? Haben Sie Konfigurationstipps? Teilen Sie Ihre Erfahrungen gerne im Kommentarbereich unten mit.
