Das ist neu in GoLand 2024.1

GoLand 2024.1 enthält mehrere bedeutende Neuerungen:

  • Full-Line-Code-Completion (Codevervollständigung für ganze Zeilen) wurde implementiert: Die lokal ausgeführte, LLM-gestützte KI-Vervollständigung ist jetzt für alle GoLand-Benutzer*innen kostenlos verfügbar.
  • Es gibt erhebliche Leistungsverbesserungen bei der Indizierung und Hervorhebung.
  • Wir haben AI Assistant verfeinert und Upgrades implementiert, einschließlich zusätzlicher Optionen für die Code-Completion und Dokumentationserstellung.
  • Die Unterstützung für Entwicklungscontainer verlässt das Early-Access-Programm und bringt in dieser Version einige spannende neue Funktionen.
  • Es wurde Unterstützung für Go 1.22-Updates hinzugefügt.

Die neue Version enthält außerdem zahlreiche Verbesserungen der Benutzeroberfläche und der internen Tools. Legen wir los!

Code-Completion für ganze Zeilen

GoLand 2024.1 führt die Code-Completion für ganze Zeilen ein, eine neue Funktion, die ganze Codezeilen mithilfe lokal ausgeführter, kontextbezogener Deep-Learning-Modelle automatisch vervollständigt. Sie trägt dazu bei, die Geschwindigkeit und Effizienz der Programmierung zu verbessern, während Sie lokal auf Ihrem Gerät arbeiten, ohne Daten an externe Server zu senden. Diese Funktion ist für alle Benutzer*innen von GoLand 2024.1 im Lieferumfang enthalten. Die ideale Möglichkeit, in die KI-Welt einzutauchen! Neugierig geworden? Lesen Sie mehr in unserem Blogbeitrag!

Sie können diese Funktion steuern und die Sprachen, für die Sie vollständige Zeilenvorschläge erhalten möchten, unter Settings | Editor | General | Code Completion | Machine Learning-Assisted Completion angeben.

Leistungsoptimierungen

Verbesserte Indizierungsleistung

Die Indizierung ist in GoLand jetzt deutlich schneller. Wir haben Geschwindigkeitssteigerungen von durchschnittlich etwa 30% beobachtet. Die Ergebnisse in der Praxis variieren natürlich bei verschiedenen Benutzer*innen, abhängig von den Besonderheiten ihrer Projekte und Hardware. Teilen Sie uns gerne Ihre Messergebnisse mit! Hier ein Beispiel für die Indizierung mithilfe des Gin-Frameworks.

Mehr Hervorhebung während der Indizierung

Mit dieser Verbesserung funktioniert das Hervorheben von Referenzen jetzt schon beim IDE-Start! Wir laden Sie ein, sich diese beiden Beispiele selbst anzuschauen.

AI Assistant

JetBrains arbeitet weiter an AI Assistant, um weitere wertvolle Funktionen und Aktionen bereitzustellen. In dieser Version bringt GoLand zwei Verbesserungen zu unseren bestehenden KI-Features. Probieren Sie sie aus!

Cloud-basierte Completion für Strukturen und Schnittstellen

In 2023.3 wurde die Inline-Completion für Funktions- und Methodenblöcke eingeführt. In 2024.1 wird sie auch für Struktur- und Schnittstellendeklarationen verfügbar sein. Wenn die Code-Completion einen Vorschlag innerhalb einer Typdeklaration anbietet, berücksichtigt sie den Kontext der Verwendung zusammen mit der übergeordneten Struktur und den Referenzen. Dadurch wird die Relevanz der KI-basierten Vorschläge verbessert.

Dokumentationsgenerierung für Strukturfelder und Schnittstellenmethoden

GoLand generiert nun Dokumentation für ganze Typen, Schnittstellenmethoden und Strukturfelder. Um Dokumentation zu generieren, setzen Sie den Cursor an eine beliebige Stelle in einer Felddefinition und wählen Sie die KI-Aktion Write Documentation. Sie können auch mit der Eingabe von // vor der Felddefinition beginnen, um den Vorschlag auszulösen.

Benutzer*innen können jetzt die Aufforderungen für bestimmte KI-Aktionen anpassen, wie z. B. das Erstellen einer Commit-Meldung. Dies ermöglicht maßgeschneiderte Ergebnisse.

Ab Version 2024.1 können Sie eine Datei exportieren, die vom KI-Chat generierte Codeausschnitte enthält. Sie können auch Dateien anhängen, um zusätzlichen Kontext zu liefern, wenn Sie im Chat Fragen stellen.

Remote-Entwicklung

In 2024.1 bietet die IDE ein verbessertes Entwicklererlebnis für Remote-Szenarien: Hervorhebung, Rendering und die allgemeine Leichtgängigkeit der Remote-Entwicklung kommen jetzt dem Gefühl der lokalen Programmierung nahe. Sie können sich selbst davon überzeugen, dass Hervorhebung und Completion in der Cloud fast so schnell sind wie bei lokalen Codebases.

Darüber hinaus können Benutzer*innen jetzt Remote-Projekte direkt vom IDE-Client aus verwalten sowie neue Remote-Projekte erstellen oder bestehende Projekte öffnen.

Dev-Container

Jetzt können Benutzer*innen einen Entwicklungscontainer vom Willkommensbildschirm aus starten (von der lokalen Festplatte oder dem VCS). Zuvor war es erforderlich, das Projekt zuerst zu öffnen.

Dev-Container werden jetzt mit Dateivorlagen für alle gängigen Programmiersprachen geliefert.

Es wurden Einstellungen hinzugefügt, mit denen Benutzer*innen ihre JetBrains Backend-IDE (z. B. GoLand oder CLion) direkt in der devcontainer.json-Datei konfigurieren können.

In GoLand Version 2024.1 werden Dateien devcontainer.json unabhängig davon erkannt, wo im Projekt sie gespeichert sind. Zuvor war es erforderlich, dass sie im Ordner ~/.devcontainer gespeichert werden.

Unterstützung für Go-1.22-Updates

Da sich die Sprache Go ständig weiterentwickelt, versuchen wir, so schnell wie möglich Unterstützung für alle neuen Sprachfunktionen bereitzustellen.

Unterstützung für range über Integer-Werte und Funktionen

Go 1.22 bietet die Möglichkeit, auf einfache Weise über ganze Zahlen und Funktionen zu iterieren, und zwar auf eine Art und Weise, die prägnanter ist als die Verwendung einer klassischen for-Schleife.

Vendoring-Unterstützung für Go-Workspaces

Vendoring gibt Ihnen mehr Kontrolle über die in Ihrem Projekt verwendeten Abhängigkeiten, da Sie diese im Projekt-Repository speichern können. In Go 1.22 können Befehle in Workspaces ein Vendor-Verzeichnis verwenden, das die Abhängigkeiten des Workspace enthält. GoLand unterstützt jetzt diese Verbesserung.

Update der Datenflussanalyse (DFA)

Die Datenflussanalyse wurde in GoLand 2023.3 eingeführt, und in 2024.1 ist die Funktion nun so ausgereift, dass sie standardmäßig aktiviert ist. Die DFA von GoLand unterstützt derzeit drei Inspektionen: Constant conditions detection, Potential nil dereference und Error may be not nil. Lesen Sie mehr über diese Entwicklungen in unserem Blogbeitrag.

Verbesserte Terraform-Unterstützung

Wir haben unsere Unterstützung für die Entwicklung von Infrastructure-as-Code mit Terraform erheblich verbessert. Das Update richtet sich an Entwickler*innen, Site Reliability Engineers (SREs) und DevOps-Spezialist*innen. Dieses Update umfasst zahlreiche neue Funktionen und Verbesserungen, die den Prozess der Erstellung, Verwaltung und Skalierung Ihrer Infrastruktur vereinfachen.

Vorschlag zur Ausführung von terraform init

Um das Arbeitsverzeichnis mit Terraform-Codedateien zu initialisieren, müssen wir zuerst terraform init ausführen. Dies wird oft übersehen und führt zu Fehlermeldungen von Terraform selbst, sowie zu unvollständiger Auto-Completion des Codes und nur teilweiser Anzeige der Dokumentation. Um dies zu vermeiden, schlägt die IDE nun ausdrücklich vor, terraform init auszuführen.

Unterstützung für Drittanbieter aus der Terraform Registry

Das Terraform-Plugin bietet jetzt erweiterte Code-Completion-Funktionen für mehr als 3.900 Terraform-Anbieter von Drittanbietern, die es Entwickler*innen erleichtern, Code effizient zu schreiben. Darüber hinaus finden Sie die neueste Dokumentation für jeden dieser Anbieter, zusammen mit ihren spezifischen Versionen, direkt in der IDE.

So können Sie neue Terraform-Anbieter erkunden und ihre Fähigkeiten schneller erlernen – und das alles, ohne die IDE zu verlassen.

Unterstützung der Terraform-Vorlagensprache (tftpl)

Wir freuen uns, die Unterstützung für die Terraform-Vorlagensprache (tftpl) vorstellen zu können, die Ihren Workflow mit Konfigurationsdateien, Skripten oder jeglichem Programmcode, wie z. B. Webserver-, Netzwerk- oder Servicekonfigurationen, verbessert. Templating ist jetzt einfacher geworden! Jetzt können Sie Werte innerhalb Ihrer Vorlagen zur Laufzeit dynamisch ausfüllen und so den Prozess des Renderns von Vorlagen für bestimmte Anwendungen rationalisieren.

Die Vorlagensprache von Terraform unterstützt nicht nur variables Templating und Kontrollflusselemente, sondern auch Listen und Maps sowie die Möglichkeit, JSON- und YAML-Formate zu generieren.

UX und andere Funktionen

Neues Terminal

GoLand 2024.1 verfügt über ein überarbeitetes Terminal, das sowohl visuelle als auch funktionale Verbesserungen enthält, um terminalbasierte Aufgaben einfacher und bequemer zu gestalten. Es bietet einen praktischen Verlauf, eine einfache Navigation zwischen Blöcken und Tipps für jeden verfügbaren Befehl.

Das neue Terminal-Toolfenster fügt sich nahtlos in die neue Benutzeroberfläche ein, passt sich dem neuen Design der IDE an und bietet außerdem eine Befehlsvervollständigungsfunktion, die Befehle, Pfade, Argumente und Optionen unterstützt. Weitere Details finden Sie in unserem entsprechenden Blogbeitrag.

Option zum Herauszoomen der gesamten IDE

GoLand 2024.1 bietet die Möglichkeit, aus der gesamten IDE herauszuzoomen. Ursprünglich umfasste der Skalierungsbereich nur die Option, die IDE auf 100% bis 200% zu vergrößern. In der aktuellen Version können Sie die IDE auch auf 90%, 80% oder 70% verkleinern.

Angeheftete Zeilen im Editor

Um die Arbeit mit großen Dateien und die Erkundung neuer Codebasen zu vereinfachen, haben wir im Editor angeheftete Zeilen eingeführt. Diese Funktion sorgt dafür, dass wichtige Strukturelemente, wie z. B. die Anfänge von Klassen oder Methoden, beim Scrollen am oberen Rand des Editors angeheftet werden. Auf diese Weise bleiben die Bereiche immer im Blick, und Sie können sofort durch den Code navigieren, indem Sie auf eine angeheftete Zeile klicken.

VCS-Updates

Code-Reviews im Editor

Jetzt bietet GoLand sowohl für GitHub- als auch für GitLab-Benutzer*innen einen optimierten und agilen Code-Review-Workflow. Autor*innen und Reviewer können nun dank des neuen Rezensionsmodus direkt im Editor nahtlos miteinander interagieren. Mehr erfahren.

CI-Prüfungsstatus im Git-Toolfenster

Wir haben eine neue Spalte im Log-Tab des Git-Toolfensters eingeführt, mit der Sie die Ergebnisse von GitHub-Commit-Checks, die von Ihrem CI-System durchgeführt wurden, einfach überprüfen können. Klicken Sie einfach auf die Registerkarte, um die vollständigen Einzelheiten der CI-Prüfungen anzuzeigen.

Anstehende GitHub-Updates werden visuell angezeigt

Wir haben in Ihrem Code-Review-Workflow visuelle Warnungen auf ausstehende Aktualisierungen eingeführt. Wenn es Änderungen gibt, die Ihre Aufmerksamkeit erfordern, wird ein blauer Punkt auf dem Symbol des Toolfensters angezeigt. Darüber hinaus werden ungelesene Pull-Requests mit einem blauen Punkt markiert, um sicherzustellen, dass Sie keine Aktualisierungen in Ihrem Code-Review-Prozess verpassen.

Web- und Datenbank-Verbesserungen

GoLand übernimmt Updates von den IDEs WebStorm und DataGrip. Interessieren Sie sich für Updates und Funktionen für die Webentwicklung oder die Arbeit mit Datenbanken? Probieren Sie sie aus!