Go in Visual Studio Code
Mit der Go-Erweiterung für Visual Studio Code erhalten Sie Funktionen wie IntelliSense, Code-Navigation, Symbolsuche, Tests, Debugging und vieles mehr, die Ihnen bei der Go-Entwicklung helfen.

Sie können die Go-Erweiterung aus dem VS Code Marketplace installieren.
Sehen Sie sich "Getting started with VS Code Go" an, um zu erfahren, wie Sie Ihre erste Go-Anwendung mit VS Code Go erstellen.
Dieser Artikel beschreibt nur eine Teilmenge der von der Go-Erweiterung bereitgestellten Funktionen. Die vollständige, aktuelle Liste der unterstützten Funktionen finden Sie in der Dokumentation der Erweiterung.
IntelliSense

IntelliSense-Funktionen werden vom Go-Sprachserver gopls bereitgestellt, der vom Go-Team gepflegt wird. Sie können das Verhalten von gopls mit den gopls-Einstellungen konfigurieren.
Semantische Syntaxhervorhebung
Für eine bessere Syntaxhervorhebung als die standardmäßige TextMate-basierte Syntaxhervorhebung empfehlen wir, die semantische Hervorhebung zu aktivieren, indem Sie die ui.semanticTokens-Einstellung von Gopls aktivieren.
"gopls": { "ui.semanticTokens": true }
Automatische Vervollständigungen
Während Sie in eine Go-Datei tippen, sehen Sie IntelliSense, das Ihnen Vorschläge zur Vervollständigung anbietet. Dies funktioniert sogar für Mitglieder in aktuellen, importierten und noch nicht importierten Paketen. Geben Sie einfach einen beliebigen Paketnamen gefolgt von . ein, und Sie erhalten Vorschläge für die entsprechenden Paketmitglieder.
Tipp: Verwenden Sie ⌃Space (Windows, Linux Ctrl+Space), um die Vorschläge manuell auszulösen.
Hover-Informationen
Wenn Sie mit der Maus über eine Variable, Funktion oder Struktur fahren, erhalten Sie Informationen zu diesem Element, wie Dokumentation, Signatur usw.
Signaturhilfe
Wenn Sie beim Aufrufen einer Funktion die ( öffnen, wird ein Pop-up mit der Signaturhilfe für die Funktion angezeigt. Während Sie die Parameter weiter eingeben, bewegt sich der Hinweis (Unterstreichung) zum nächsten Parameter.
Tipp: Verwenden Sie ⇧⌘Space (Windows, Linux Ctrl+Shift+Space), um die Signaturhilfe manuell auszulösen, wenn sich der Cursor innerhalb der
()im Funktionsaufruf befindet.
Code-Navigation
Code-Navigationsfunktionen sind im Kontextmenü des Editors verfügbar.
- Zur Definition springen F12 - Springt zum Quellcode der Typdefinition.
- Zur Typdefinition springen - Springt zum Typ, der ein Symbol definiert.
- Definition anzeigen ⌥F12 (Windows Alt+F12, Linux Ctrl+Shift+F10) - Öffnet ein Peek-Fenster mit der Typdefinition.
- Referenzen finden ⇧F12 (Windows, Linux Shift+F12) - Zeigt alle Referenzen für den Typ an.
- Aufrufhierarchie anzeigen ⇧⌥H (Windows, Linux Shift+Alt+H) - Zeigt alle Aufrufe von oder zu einer Funktion an.
- Zu Implementierungen springen ⌘F12 (Windows, Linux Ctrl+F12) - Öffnet ein Peek-Fenster mit der Liste aller Implementierungen einer Schnittstelle (wenn mit einem Schnittstellentyp-Symbol ausgelöst) oder der Schnittstellen, die ein Typ implementiert (wenn mit einem konkreten Typ-Symbol ausgelöst).
- Alle Implementierungen finden - Zeigt alle Implementierungen einer Schnittstelle (wenn mit einem Schnittstellentyp-Symbol ausgelöst) oder die Schnittstellen, die ein Typ implementiert (wenn mit einem konkreten Typ-Symbol ausgelöst).
Sie können über die Symbolsuche navigieren, indem Sie die Befehle Zur Symbolsuche springen aus der Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) verwenden.
- Symbol in Datei suchen - ⇧⌘O (Windows, Linux Ctrl+Shift+O)
- Symbol im Workspace suchen - ⌘T (Windows, Linux Ctrl+T)
Sie können auch mit dem Befehl Go: Testdatei umschalten zwischen einer Go-Datei und ihrer Testimplementierung hin und her navigieren.
Erstellen und Diagnostizieren
Der Go-Sprachserver (gopls) erkennt Build- und Vet-Fehler im Workspace. Die Fehler und Warnungen, die beim Ausführen eines oder aller der oben genannten Befehle auftreten, werden als rote/grüne wellenförmige Linien im Editor angezeigt. Diese Diagnosen werden auch im Fenster Probleme (Anzeigen > Probleme) angezeigt.
Sie können zusätzliche Linting-Prüfungen hinzufügen, indem Sie die Einstellung go.lintOnSave verwenden und Ihr bevorzugtes Linting-Tool (staticcheck, golangci-lint oder revive) mit der Einstellung go.lintTool konfigurieren.
Formatierung
Sie können Ihre Go-Datei mit ⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I) formatieren oder den Befehl Dokument formatieren aus der Befehlspalette oder dem Kontextmenü des Editors ausführen.
Standardmäßig wird die Formatierung beim Speichern Ihrer Go-Datei ausgeführt. Sie können dieses Verhalten deaktivieren, indem Sie für den Sprachbezeichner [go] die Einstellung editor.formatOnSave auf false setzen. Sie können dies in Ihren JSON-Einstellungsdateien ändern.
"[go]": {
"editor.formatOnSave": false
}
Wenn mehrere Formatierer für Go-Dateien aktiviert sind, können Sie die Go-Erweiterung als Standardformatierer auswählen.
"[go]": {
"editor.defaultFormatter": "golang.go"
}
Die Formatierung wird von gopls bereitgestellt. Wenn Sie eine Formatierung im gofumpt-Stil wünschen, können Sie gopls so konfigurieren, dass es gofumpt verwendet.
"gopls": {
"formatting.gofumpt": true
}
Testen
Die VS Code Test-UI und die CodeLens-Elemente im Editor ermöglichen es Benutzern, Tests, Benchmarks und Profile für eine gegebene Funktion, Datei, ein Paket oder einen Workspace einfach auszuführen.
Alternativ ist dieselbe Funktionalität über eine Reihe von Befehlen verfügbar
- Go: Testfunktion an der Cursorposition
- Go: Testdatei
- Go: Testpaket
- Go: Alle Pakete im Workspace testen
Es gibt viele testbezogene Befehle, die Sie erkunden können, indem Sie "Go: test" in die Befehlspalette eingeben.

Die ersten drei oben genannten können verwendet werden, um Testgerüste für die Funktionen im aktuellen Paket, in der aktuellen Datei oder an der Cursorposition mit gotests zu generieren. Die letzten beiden können verwendet werden, um Tests im aktuellen Paket, in der aktuellen Datei oder an der Cursorposition mit go test auszuführen. Es gibt auch einen Befehl zum Abrufen der Testabdeckung.
Sie können die Erweiterung konfigurieren, um Tests auszuführen und die Testabdeckung zu berechnen, mit
go.testOnSavego.coverOnSavego.testFlags
Pakete importieren
Die Erweiterung organisiert standardmäßig Importe und entfernt ungenutzte Importe. Für ein anderes Verhalten können Sie sprachspezifische Standardeinstellungen überschreiben, indem Sie diesen Anweisungen folgen.
Führen Sie den Befehl Go: Import hinzufügen aus, um eine Liste von Paketen zu erhalten, die in Ihre Go-Datei importiert werden können. Wählen Sie eines aus, und es wird im Importblock Ihrer Go-Datei hinzugefügt.
Refactoring
Wählen Sie den Bereich für das Refactoring aus (z. B. Variable, Funktionskörper usw.). Klicken Sie auf das Code-Action-Glühbirnen-Symbol, das im ausgewählten Bereich erscheint, oder wählen Sie Refactoring... oder Symbol umbenennen (F2) aus dem VS Code-Kontextmenü.
Debugging
Die Go-Erweiterung ermöglicht es Ihnen, Go-Code mithilfe des Delve-Debuggers zu debuggen.
Lesen Sie Go-Programme in VS Code debuggen für Einrichtungsanweisungen, unterstützte Funktionen, Konfigurationen, Informationen zum Remote-Debugging und eine Fehlerbehebungsanleitung. Für allgemeine Debugging-Funktionen wie das Untersuchen von Variablen, das Setzen von Haltepunkten und andere sprachunabhängige Aktivitäten lesen Sie VS Code-Debugging.
Einige Go-spezifische Funktionen sind
- Lokales und Remote-Debugging
- Dateninspektion mit der Ausdruckssyntax von Delve
- Optionen zur dynamischen Konfigurationsänderung und Inspektion mit dem
dlv-Befehl aus der DEBUG-KONSOLE - Möglichkeit, System-Goroutinen auszublenden/anzuzeigen (verwenden Sie die Konfiguration
hideSystemGoroutines) - Unterstützung für die Disassemblierungsansicht (Rechtsklick auf Ihren Quellcode und Auswahl von Disassemblierungsansicht öffnen)
- Experimentelle Funktionsaufrufe, Kerninspektion, Unterstützung für Mozilla
rr
Nächste Schritte
Dies war ein kurzer Überblick über die Funktionen der Go-Erweiterung in VS Code. Weitere Informationen finden Sie in den Details im README der Go-Erweiterung.
Um über die neuesten Funktionen/Fehlerbehebungen für die Go-Erweiterung auf dem Laufenden zu bleiben, lesen Sie das CHANGELOG.
Wenn Sie Probleme haben oder Funktionswünsche haben, können Sie diese gerne im vscode-go-Repo der Go-Erweiterung protokollieren.
Wenn Sie mehr über VS Code erfahren möchten, probieren Sie diese Themen aus:
- Grundlegende Bearbeitung – Eine kurze Einführung in die Grundlagen des VS Code-Editors.
- Erweiterung installieren – Erfahren Sie mehr über andere Erweiterungen, die im Marketplace verfügbar sind.
- Code-Navigation – Schnelles Bewegen durch Ihren Quellcode.