Go im Fokus: Erste Begegnung mit der neuen IDE für Golang
Die Entwickler-Community von Go (Golang) wächst weiterhin rasant, und mit ihr steigt der Bedarf an hochwertigen Entwicklungswerkzeugen. Kürzlich ist eine neue integrierte Entwicklungsumgebung (IDE) auf den Markt gekommen, die speziell auf Go ausgerichtet ist. Wir haben uns entschlossen, sie uns als Erste anzusehen und unsere ersten Eindrücke zu teilen. Die Entwickler versprechen nicht nur einen weiteren Code-Editor, sondern eine vollwertige Umgebung, die alle Besonderheiten der Sprache berücksichtigt – von der strengen Typisierung bis hin zu Goroutinen.
Was bietet dieses Werkzeug also und lohnt es sich, einen Blick darauf zu werfen? Lassen Sie es uns herausfinden.
Schlüsselfunktionen der neuen IDE
Von den ersten Minuten der Arbeit an fällt die durchdachte Benutzeroberfläche auf. Die Entwickler haben sich offensichtlich von den besten Praktiken von JetBrains und Visual Studio Code inspirieren lassen, aber eine Reihe einzigartiger Features hinzugefügt, die auf die Arbeit mit Go-Projekten ausgerichtet sind.
- Intelligente Autovervollständigung (IntelliSense): Die Umgebung schlägt nicht nur Variablennamen vor, sondern berücksichtigt auch den Kontext von Goroutinen, Kanälen und Paketstrukturen. Die Arbeit mit `context.Context` und `error` wurde deutlich komfortabler.
- Integrierter Debugger mit Goroutine-Unterstützung: Sie können die Ausführung einer einzelnen Goroutine anhalten, ohne das gesamte Programm zu stoppen. Dies ist entscheidend für das Debuggen von nebenläufigem Code, der in Go allgegenwärtig ist.
- Profiling im laufenden Betrieb: Direkt in die IDE sind grundlegende `pprof`-Werkzeuge integriert. Sie können ein CPU- oder Speicher-Profiling starten, ohne den Editor zu verlassen, und Engpässe sofort als Flame Graph sehen.
- Intelligente Refactorings: Neben Standardumbenennungen kann die IDE automatisch gemeinsame Codefragmente in Funktionen extrahieren, Methoden für Strukturen generieren und sogar Ersetzungen von Schleifen durch idiomatischere Go-Konstrukte (z. B. `for range`) vorschlagen.
- Tiefe Integration mit Modulen (Go Modules): Die Umgebung zieht automatisch Abhängigkeiten, hebt veraltete Paketversionen hervor und bietet schnelle Korrekturen für Versionsinkompatibilitäten.
Erste Eindrücke: Was uns gefallen hat
Bei einem mittelgroßen Testprojekt (Mikroservice in Go mit gRPC und PostgreSQL) zeigte sich die IDE stabil. Besonders erfreulich war die Arbeit mit Refactoring: Die Funktion „Interface extrahieren“ funktionierte einwandfrei, generierte alle notwendigen Methoden und bewahrte die Paketstruktur. Auch das integrierte Terminal verdient Lob – es ist so eng integriert, dass Befehle wie `go test -race` mit Ergebnissen direkt als Testbaum und nicht nur als Text angezeigt werden.
Besonders hervorzuheben ist die Vorlagenunterstützung. Für Anfänger in Go gibt es vorgefertigte Projektvorlagen (REST API, CLI-Tool, Webserver), die mit einem Klick erstellt werden und bereits die korrekte Ordnerstruktur und `go.mod`-Dateien enthalten.
Was noch Fragen offen lässt
Wie jedes neue Werkzeug hat auch diese IDE ihre Mängel. Zum Zeitpunkt der ersten Veröffentlichung gibt es Probleme mit dem Speicherverbrauch – bei großen Monorepos kann die Umgebung „hängen“. Auch die Unterstützung beliebter Go-Plugins wie `golangci-lint` fehlt noch – es muss manuell ausgeführt werden. Die Entwickler versprechen, dies in zukünftigen Updates zu beheben.
Sollte man es ausprobieren?
Wenn Sie professionell in Go programmieren und eine tiefe Integration der Werkzeuge schätzen, ist diese IDE eine