Effectieve debugging en codekwaliteit zijn onafscheidelijke concepten in softwareontwikkeling. De foutopsporingsfunctionaliteit van Visual Studio (VS) Code wordt voornamelijk beheerd door het bestand launch.json. Met dit bestand kunnen ontwikkelaars hun instellingen voor foutopsporing configureren en beheren volgens hun visie.
Dit artikel leidt u door het openen en beheren van het bestand launch.json voor optimale foutopsporing.
Launch.json openen in Visual Studio Code
Om VS Code-foutopsporingsinstellingen te configureren en te beheren, hebt u toegang nodig tot het bestand launch.json. Dit bestand speelt een cruciale rol bij het aanpassen van foutopsporing.
- Open Visual Studio-code.
- Druk op Ctrl + Shift + P om het opdrachtenpalet te openen.
- Typ 'Open launch.json' in het opdrachtpalet en druk op 'Enter'. Dit zou het bestand launch.json voor u moeten openen.
- Als het bestand launch.json niet wordt geopend, controleert u of de map '.vscode' in de hoofdmap van uw project staat.
- Als het niet bestaat, maakt u een nieuwe map met de naam '.vscode' in uw gebruikersmap.
- Maak een nieuw 'launch.json' -bestand en plaats het in deze map.
Het bestand launch.json is klaar om te configureren nadat het is ingeschakeld.
Structuuroverzicht Launch.json
De launch.json geeft de secties 'versie' en 'configuraties' weer. Het gedeelte 'configuraties' is een array met verschillende opties voor foutopsporing, die u zult gebruiken om uw foutopsporingsschema te configureren.
gegoten van chroom naar vuur tv
Elk object in de array 'configuraties' vertegenwoordigt een foutopsporingsscenario. Deze objecten hebben eigenschappen die de foutopsporingsomgeving definiëren, zoals de instellingen voor taal, programma en foutopsporing.
Enkele veelvoorkomende eigenschappen die u tegenkomt in launch.json-configuraties zijn:
- 'naam' - Een leesvriendelijke naam voor de configuratie om deze te identificeren in het vervolgkeuzemenu.
- 'type' - Specificeert het type debugger (zoals 'node', 'python' of 'cppvsdbg').
- 'request' - Bepaalt het type verzoek, ofwel 'launch' (om een nieuwe instantie te starten) of 'attach' (om de debugger aan een bestaand proces te koppelen).
- 'programma' - Bestandspad voor het bestand dat u wilt debuggen.
- 'args' - Een reeks opdrachtregelargumenten die tijdens het debuggen aan het programma moeten worden doorgegeven.
- 'preLaunchTask' - Een taak die moet worden uitgevoerd voordat de debugger wordt gestart.
Als u de bestandsstructuur van launch.json begrijpt, weet u welke opties u moet wijzigen en welke u met rust moet laten terwijl u uw foutopsporingsomgeving aanpast.
Opstartinstellingen configureren voor verschillende talen
De stappen voor het configureren van opstartinstellingen kunnen enigszins variëren, afhankelijk van de taal. Hier zijn de stappen voor verschillende populaire talen.
JavaScript en TypScript
- Maak een nieuw launch.json-bestand en configureer de eigenschap 'type' als 'node' voor JavaScript of 'pwa-node' voor TypeScript.
- Stel de eigenschap 'request' in op 'launch' of 'attach'.
- U moet het ingangspuntbestand specificeren met behulp van de eigenschap 'programma'.
Python
- Installeer de Python-interpreter en -extensie voor Visual Studio Code.
- Stel de eigenschap 'type' in op 'python' in een nieuw launch.json-bestand.
- Configureer de eigenschap 'request' als 'launch' of 'attach'.
- Specificeer het Python-bestand dat moet worden uitgevoerd met behulp van de eigenschap 'programma'.
- Mogelijk moet u bovendien de eigenschap 'pythonPath' instellen op het pad van de Python-interpreter als deze zich niet op de standaardlocatie bevindt.
C# en .NET Core
- Installeer de C#-extensie voor Visual Studio Code.
- Stel in het nieuwe bestand launch.json de eigenschap 'type' in op 'coreclr' voor .NET Core of 'clr' voor .NET Framework.
- Configureer de eigenschap 'request' als 'launch' of 'attach'.
- Geef het ingangspuntbestand op met behulp van de eigenschap 'programma'.
- Stel indien nodig de eigenschap 'cwd' in op de werkdirectory van het huidige project.
Java
- Installeer het Java-extensiepakket.
- Maak een nieuw launch.json-bestand en stel de eigenschap 'type' in op 'java'.
- Configureer de eigenschap 'request' als 'launch' of 'attach'.
- Geef de hoofdklasse op met de eigenschap 'mainClass'.
- Stel de eigenschap 'projectName' in op de naam van uw Java-project.
- Configureer de eigenschap 'classpath' om de Java-bibliotheken op te nemen die u tijdens uw Java-ontwikkeling zult gebruiken.
Configuratierecepten debuggen
Het volgende gedeelte behandelt verschillende configuratierecepten voor foutopsporing.
Debugger koppelen aan een lopend proces
De debugger koppelen aan een lopend proces:
- Stel de eigenschap 'request' in op 'attach'.
- Kies de proces-ID of het filter om het proces te zoeken om fouten op te sporen.
Foutopsporing op afstand
Voor foutopsporing op afstand:
- Gebruik een type 'op afstand'.
- Geef het hostadres, de poort en mogelijk authenticatie-informatie op om een verbinding tot stand te brengen.
Debuggen van unittests en testsuites
Bij het debuggen van unittests en testsuites:
- Gebruik een configuratie die het testframework en de instellingen bevat om unittests en testsuites te debuggen.
- Definieer de testsuite of individuele testbestanden in de eigenschap 'programma' of 'args' voor het richten op specifieke tests.
Omgevingsvariabelen doorgeven
De eigenschap 'env' in launch.json kan omgevingsvariabelen doorgeven aan uw toepassing tijdens het debuggen. Deze eigenschap is een object dat sleutel-waardeparen bevat voor de omgevingsvariabelen die u wilt instellen.
Geavanceerde foutopsporing
Laten we eens kijken naar enkele geavanceerde foutopsporingstechnieken voor gebruikers die wat meer kracht uit de foutopsporingsbestanden willen halen.
Voorwaardelijke breekpunten en logpoints
Voorwaardelijke breekpunten en logboekpunten verbeteren foutopsporing door berichten alleen onder specifieke voorwaarden te onderbreken of vast te leggen. Om ze te gebruiken:
- Klik met de rechtermuisknop op het regelnummer waar u een breekpunt of logpunt wilt instellen.
- Selecteer 'Voorwaardelijk breekpunt toevoegen' of 'Logpunt toevoegen'.
- Voer de voorwaarde of het bericht in om de actie te activeren.
Bronkaarten
Met brontoewijzingen kunt u code debuggen die is getransformeerd of verkleind.
- Stel de eigenschap 'sourceMap' in op 'true' in uw launch.json-configuratie om bronkaarten te gebruiken.
- Zorg ervoor dat uw bouwproces brontoewijzingen en de getransformeerde code genereert.
Integratie van externe debuggers
U kunt desgewenst externe debuggers en tools, zoals gdb of lldb, in VS Code integreren.
- Installeer de debugger-extensie naar keuze.
- Configureer de instellingen van de debugger in het bestand launch.json.
Debuggen van multi-threaded applicaties
Bij het debuggen van toepassingen met meerdere threads kunt u de uitvoering van afzonderlijke threads regelen.
- Gebruik de weergave 'threads' in de zijbalk Debug om de threads te beheren tijdens een foutopsporingssessie.
- U kunt de uitvoering van de code voor elke thread afzonderlijk onderbreken, hervatten of doorlopen.
Foutopsporing met meerdere doelen
Samengestelde lanceringsconfiguraties maken debuggen van meerdere doelen tegelijk mogelijk. Als u van deze functie wilt profiteren, voegt u een 'compounds' -array toe met configuratienamen om samen te groeperen. Voer ze uit door de samengestelde configuratienaam te kiezen in het vervolgkeuzemenu Debug.
Configureer meerdere opstartconfiguraties gericht op verschillende services, functies of eindpunten om microservices en serverloze applicaties te debuggen. Gebruik samengestelde startconfiguraties om deze doelen samen uit te voeren.
Maak voor multi-root werkruimten afzonderlijke launch.json-bestanden voor elke map. Configureer de opstartinstellingen voor elke hoofdmap afzonderlijk om projecten afzonderlijk of gelijktijdig te debuggen met behulp van samenstellingen.
Problemen met veelvoorkomende launch.json-problemen oplossen
Soms is foutopsporing vatbaar voor zijn eigen set bugs. Laten we eens kijken naar enkele veelvoorkomende problemen en hoe u deze kunt oplossen.
Fouten bij schemavalidatie
Schemavalidatiefouten treden op wanneer een launch.json-bestand ongeldige eigenschappen of waarden heeft. Schemafouten oplossen:
- Bekijk de foutmeldingen in het deelvenster Problemen.
- Werk het bestand launch.json bij volgens de informatie in het foutbericht.
Debuggen van fouten
Onjuiste opstartinstellingen kunnen foutopsporingsfouten veroorzaken.
- Controleer uw opstartconfiguraties op onjuiste bestandspaden.
- Controleer ontbrekende of verkeerde foutopsporings- of aanvraagtypen.
- Werk de instellingen indien nodig bij.
Problemen met de startconfiguratie diagnosticeren
Problemen met opstartconfiguraties diagnosticeren:
- Schakel diagnostische logboekregistratie in door de eigenschap 'trace' in te stellen op 'verbose'.
- Bekijk de gegenereerde logboeken in de foutopsporingsconsole om eventuele problemen te identificeren en op te lossen.
Tips voor launch.json
Gebruik launch.json optimaal met deze tips:
- Gebruik betekenisvolle namen voor uw opstartconfiguraties om ze gemakkelijk herkenbaar te maken. Deze oefening helpt u snel de juiste configuratie te vinden wanneer u met meerdere foutopsporingsscenario's werkt.
- Deel opstartconfiguraties met uw team door het bestand launch.json op te nemen in het versiebeheersysteem van uw project. Elk teamlid heeft toegang tot dezelfde configuraties en instellingen voor foutopsporing.
- Versiecontrolesystemen zoals Git kunnen wijzigingen in uw launch.json-bestand bijhouden. U kunt versiebeheer gebruiken om terug te gaan naar eerdere configuraties en samen te werken met andere teamleden door aanbevolen instellingen met hen te delen.
- Installeer extensies die specifieke talen, debuggers of tools ondersteunen die voldoen aan de eisen van het project. Configureer het bestand launch.json om deze extensies en hun functies te gebruiken tijdens foutopsporingssessies.
Start met foutopsporing
Door gebruik te maken van de kracht van launch.json, kunt u uw foutopsporingservaring aanpassen aan uw codeerstijl. Dit zal de kwaliteit en prestaties van uw code verbeteren.
Hoe vaak moet u uw opstartinstellingen configureren? Heb je configuratietips? Deel uw ervaringen in de commentaarsectie hieronder.