Go mit VSCode entwickeln
Visual Studio Code (VS Code) ist ein kostenloser, quelloffener Code-Editor, der von Microsoft entwickelt wurde, mehrere Programmiersprachen unterstützt und Funktionen wie Code-Hervorhebung, intelligente Codevervollständigung, Code-Refactoring und Debugging bietet.
Mit der offiziellen Go-Erweiterung für Visual Studio Code erhält man eine Reihe praktischer Funktionen für die Entwicklung von Go-Projekten, darunter IntelliSense, Codenavigation, Symbolsuche, Unit-Tests und Programm-Debugging.
Wenn Sie VS Code nicht kennen oder es noch nicht installiert haben, können Sie sich beziehen auf:VSCode-Tutorial。
Go-Plugin installieren
Öffnen Sie den VS Code-Erweiterungsmarktplatz und suchen Sie nach:Go Extension for VS Code。
Klicken Sie im Editor auf der linken Seite auf Erweiterungen, suchen Sie nach Go und installieren Sie dann das offizielle Plugin:

Nach der Installation können wir mit dem Schreiben von Go-Code beginnen, indem wirfmt.Probieren Sie die IntelliSense-Funktion aus:

IntelliSense
IntelliSense wird vom gopls-Sprachserver bereitgestellt, der vom offiziellen Go-Team gepflegt wird. Sein Verhalten kann über gopls-Konfigurationsoptionen angepasst werden.

1. Semantische Hervorhebung
VS Code verwendet standardmäßig TextMate-grammatikbasierte Syntaxhervorhebung; um eine bessere semantische Hervorhebung zu aktivieren, schalten Sie sie in den Einstellungen ein.ui.semanticTokens:
"gopls": { "ui.semanticTokens": true }
2. Code-Autovervollständigung
Beim Bearbeiten von Go-Quellcode bietet die Erweiterung Echtzeit-Vorschläge zur Codevervollständigung, die Member-Vorschläge aus dem aktuellen Paket, aus importierten Paketen und aus noch nicht importierten Paketen unterstützen; geben Sie "Paketname + ." ein, um Methoden-/Konstantenhinweise innerhalb dieses Pakets aufzurufen.
Tastenkürzel:
Ctrl+空格(⌃Space)Vervollständigungs-Popup manuell aufrufen
3. Dokumentations-Tooltip beim Hovern
Bewegen Sie den Mauszeiger über Variablen, Funktionen oder Structs, um ein Popup mit Details wie Dokumentationskommentaren und Funktionssignaturen anzuzeigen.
4. Hinweise zu Funktionsparametern
Geben Sie die öffnende Klammer einer Funktion ein(Die Parametersignatur wird automatisch eingeblendet, wenn eine Funktion aufgerufen wird; während der Eingabe von Argumenten folgt die Unterstreichung, um zum aktuell ausgefüllten Parameter zu wechseln;
Tastenkürzel:
Shift+Cmd+空格(⇧⌘Space)Parameterhinweise manuell auslösen, wenn sich der Cursor innerhalb von Klammern befindet.
Code-Navigation
Das Rechtsklick-Kontextmenü des Editors enthält einen vollständigen Satz von Code-Navigationsfunktionen:
- F12 Jump to Definition: Zur Quellcode-Definition von Typ/Variable springen
- Go to Type Definition: Quellcode des zugrunde liegenden Typs einer Variablen lokalisieren.
- Alt+F12 (⌥F12) Peek Definition: Quellcode als Popup-Vorschau anzeigen, ohne die Datei zu wechseln
- Shift+F12 (⇧F12) Find All References: Alle Referenzstellen des aktuellen Symbols auflisten
- Shift+Alt+H(⇧⌥H) Call Hierarchy: Aufrufer- und Aufgerufenenkette für eine Funktion anzeigen.
- Cmd+F12 (⌘F12) View Implementations: Für ein Interface alle implementierenden Typen anzeigen; für einen konkreten Typ alle Interfaces anzeigen, die er implementiert.
Befehlspalette öffnenShift+Cmd+P(⇧⌘P), schnell über die Symbolsuche springen:
Shift+Cmd+O(⇧⌘O): Nach Symbolen in der aktuellen Datei suchenCmd+T(⌘T): Nach Symbolen global im gesamten Arbeitsbereich suchen
BefehlsverwendungGo: Toggle Test File, schnell zwischen Business-Code und der zugehörigen Testdatei hin- und herwechseln.
Code-Formatierung
- Tastenkürzel:
Shift+Alt+F(⇧⌥F)Aktuelle Datei mit einem Klick formatieren - Sie können "Format Document" auch über die Befehlspalette oder das Rechtsklick-Kontextmenü ausführen.
Formatierungskonfiguration
Automatische Formatierung beim Speichern deaktivieren
"[go]": { "editor.formatOnSave": false }Die Go-Erweiterung als Standardformatierer für Go-Dateien festlegen.
"[go]": { "editor.defaultFormatter": "golang.go" }Den strikten Formatierungsstil von gofumpt aktivieren (strikter als die nativen gofmt-Regeln).
"gopls": { "formatting.gofumpt": true }Die Formatierung wird intern über gopls implementiert
Unit-Testing
Das Test Panel in der VS Code-Seitenleiste + die CodeLens-Schnellschaltflächen über dem Code unterstützenFunktion/Datei/Paket/Gesamtes Projektfür Unit-Tests, Benchmark-Tests und Leistungsprofiling.
Eingabe in der BefehlspaletteGo: testSie können alle Testbefehle anzeigen; häufig verwendet:
- Go: Test Function At Cursor: Test für die Funktion ausführen, in der sich der Cursor befindet
- Go: Test File: Alle Testfälle in der aktuellen Datei ausführen
- Go: Test Package: Alle Tests im aktuellen Paket ausführen
- Go: Test All Packages in Workspace: Das gesamte Projekt im Batch testen

Die ersten drei Befehle können auf Basis von gotests automatisch Testfall-Skelette generieren; die Erweiterung unterstützt die Konfiguration:
go.testOnSave: Tests beim Speichern von Code automatisch ausführengo.coverOnSave: Testabdeckung beim Speichern automatisch generierengo.testFlags: Ausführungsparameter für go test anpassen
Debug
Die Go-Erweiterung stützt sich für das Debuggen von Go-Code auf den Delve-Debugger und bietet einzigartige Funktionen:
- Lokales Debugging + Remote-Service-Debugging
- Verwenden Sie die Delve-Ausdruckssyntax, um benutzerdefinierte Daten im Debug-Panel anzuzeigen.
- Führen Sie native dlv-Befehle in der Debug-Konsole aus, um die Debug-Konfiguration dynamisch zu ändern und Variablen anzuzeigen.
- Konfiguration
hideSystemGoroutinesSystem-Goroutines ausblenden/anzeigen - Rechtsklick auf den Code, um die Assembly-Ansicht (Disassembly-Ansicht) zu öffnen.
- Experimentelle Funktionen: Funktionsaufruf-Debugging, Core-Dateianalyse und Mozilla rr Reverse-Debugging.