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 suchen
  • Cmd+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

  1. Automatische Formatierung beim Speichern deaktivieren

    "[go]": {
        "editor.formatOnSave": false
    }
  2. Die Go-Erweiterung als Standardformatierer für Go-Dateien festlegen.

    "[go]": {
        "editor.defaultFormatter": "golang.go"
    }
  3. 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ühren
  • go.coverOnSave: Testabdeckung beim Speichern automatisch generieren
  • go.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:

  1. Lokales Debugging + Remote-Service-Debugging
  2. Verwenden Sie die Delve-Ausdruckssyntax, um benutzerdefinierte Daten im Debug-Panel anzuzeigen.
  3. Führen Sie native dlv-Befehle in der Debug-Konsole aus, um die Debug-Konfiguration dynamisch zu ändern und Variablen anzuzeigen.
  4. KonfigurationhideSystemGoroutinesSystem-Goroutines ausblenden/anzeigen
  5. Rechtsklick auf den Code, um die Assembly-Ansicht (Disassembly-Ansicht) zu öffnen.
  6. Experimentelle Funktionen: Funktionsaufruf-Debugging, Core-Dateianalyse und Mozilla rr Reverse-Debugging.

Weitere verwandte Tools

Weitere Erweiterungen