Das ist neu in GoLand

GoLand 2023.2 bietet eine verbesserte Integration mit Go-Modulen, Refactorings für die Migration von Funktionsparametern zu Methoden-Receivern und umgekehrt sowie Unterstützung für errors.Is und errors.As.

Zu den weiteren Neuerungen in dieser Version zählen ein Plugin für AI Assistant, eine GitLab-Integration und ein Kafka-Plugin.

Die Docker-Integration und das Kubernetes-Plugin wurden ebenfalls verbessert.

Wenn Sie interaktive Lernmethoden bevorzugen, empfehlen wir Ihnen, das Tutorial What's New in GoLand 2023.2 zu absolvieren, das Sie auf dem Begrüßungsbildschirm finden.

Go-Module

Einstellungen für Go-Module in GoLand

Automatisches Herunterladen von Modulen

Go-Module können jetzt beim Öffnen des Projekts und nach jeder Änderung an der Datei go.mod automatisch heruntergeladen werden. Diese Funktion ist standardmäßig aktiviert, aber Sie können sie jederzeit unter Settings | Go | Go Modules deaktivieren.

Quick-Fix zum Aktualisieren der Abhängigkeiten in go.mod

Kontextaktionen zum Aktualisieren der Abhängigkeiten in go.mod

Wir haben mehrere Kontextaktionen und Inspektionen hinzugefügt, um das Aktualisieren von Abhängigkeiten in go.mod-Dateien zu vereinfachen.

Wenn Sie Ihre go.mod-Datei öffnen, hebt GoLand jetzt veraltete Abhängigkeiten hervor. Sie können den Mauszeiger auf eine hervorgehobene Paketversion bewegen und sie mit einem Quick-Fix aktualisieren. Sie haben auch die Möglichkeit, alle Abhängigkeiten auf die neuesten Patches oder Hauptversionen zu aktualisieren, und es gibt auch die Option, nur direkte Abhängigkeiten zu aktualisieren.

Option zur Deaktivierung von Vendoring in GoLand

Option zur Deaktivierung von Vendoring

Sie können jetzt das Vendoring projektweise deaktivieren, z. B. wenn Sie ein Monorepo mit einem Vendor-Ordner haben, der von einer anderen Sprache verwendet wird. Sie können das Vendoring gleich bei der Erstellung eines neuen Projekts deaktivieren oder später unter Settings | Go | Go Modules die entsprechende Einstellung ändern.

Refactoring

Refactoring zur Migration eines Funktionsparameters zu einem Methoden-Receiver in GoLand

Migration von Funktionsparametern und Methoden-Receivern

GoLand bietet zwei neue Refactorings: Migrate function parameter to method receiver und Migrate method receiver to function parameter.

Das Refactoring Migrate function parameter to method receiver kann eine Funktion in eine Typmethode umwandeln. Migrate method receiver to function parameter bewirkt das Gegenteil: Es wandelt eine Typmethode in eine Funktion um.

Fehlerbehandlung

GoLand bietet jetzt einen Quick-Fix, der direkte Fehlervergleiche durch errors.Is ersetzen kann

Unterstützung für errors.Is und errors.As

Wir haben zwei Inspektionen eingeführt, die Stellen hervorheben, an denen errors.Is oder errors.As verwendet werden sollte. Die dazugehörigen Quick-Fixes helfen Ihnen, den Code so zu refaktorieren, dass errors.Is oder errors.As verwendet wird.

Die erste Inspektion findet direkte Fehlervergleiche. In Go 1.13 und später können Fehler in die Funktion fmt.Errorf mit dem Verb %w eingeschlossen werden, und der direkte Fehlervergleich mittels Gleichheitsprüfung kann in solchen Fällen fehlschlagen.

Die bevorzugte Art, den Typ eines Fehlers zu prüfen, ist die Verwendung der Funktion errors.Is aus der Standardbibliothek. GoLand bietet jetzt einen Quick-Fix, der direkte Fehlervergleiche durch errors.Is ersetzen kann.

GoLand hat jetzt einen Quick-Fix, der vorschlägt, Typ-Assertions und Typ-Switches für Fehler durch errors.As zu ersetzen.

Die zweite Inspektion weist auf Typ-Assertions und Typ-Switches bei Fehlern hin, z. B. err.(*MyErr) oder switch err.(type), da diese bei umschlossenen Fehlern ebenfalls fehlschlagen können.

Die bevorzugte Methode ab Go 1.13 ist die Verwendung von errors.As. Unser neuer Quick-Fix schlägt vor, Typ-Assertions und Typ-Switches bei Fehlern durch errors.As zu ersetzen.

Go 1.21

Unterstützung für min, max und clear

GoLand 2023.2 bietet grundlegende Unterstützung für die in Go 1.21 eingeführten Funktionen min, max und clear.

Verbesserungen für make

Completion-Optionen für make-Funktionsargumente

Completion für make-Funktionsargumente

Wir haben eine Completion-Unterstützung für make-Funktionsaufrufe eingeführt, die Typen berücksichtigt.

Benachrichtigung in GoLand bei fehlerhafter Verwendung einer make-Funktion

Prüfung von make-Funktionsargumenten

GoLand kann jetzt Fehler und redundante Argumente in make-Funktionen erkennen. Mit einem Quick-Fix, den Sie wie üblich mittels Alt+Enter aufrufen können, lassen sich redundante Argumente entfernen.

Weitere Go-bezogene Funktionen

Der Receiver wird als erster Parameter in den Completion-Vorschlägen angezeigt, wenn eine Methode direkt auf einem Typ aufgerufen wird

Completion-Vorschläge für Receiver-Typen bei Methodenausdrücken

Wenn Sie eine Methode direkt auf einem Typ aufrufen, müssen Sie als erstes Argument den Receiver-Typ angeben. In diesen Fällen zeigt GoLand nun den Receiver als ersten Parameter in den Completion-Vorschlägen an.

Fehlermeldung in GoLand für fehlende Typargumente bei der Instanziierung eines Typs

Generics: verbesserte Fehlermeldungen bei fehlenden Argumenten

In der Fehlermeldung für fehlende Typargumente bei der Instanziierung eines Typs wird der Fehler jetzt explizit angegeben.

Vorschau auf die Kontextaktion „Wrap error handling in a closure“ in GoLand

Vorschau auf die Kontextaktion Wrap error handling in a closure

Wir haben eine Vorschau für die Kontextaktion Wrap error handling in a closure eingeführt. Sie können die Vorschaufunktion deaktivieren, indem Sie Strg+Q drücken, während die Liste der Kontextaktionen geöffnet ist. Die Vorschau bleibt so lange deaktiviert, bis Sie sie mit dem gleichen Tastenkürzel wieder einschalten.

Warnung in GoLand vor einer redundanten Bedingung in einer for-Schleife

Warnung bei redundanten Bedingungen in for-Schleifen

GoLand zeigt jetzt eine Warnmeldung an, wenn in einer for-Schleife redundante Bedingungen verwendet werden. Mit einem entsprechenden Quick-Fix kann die überflüssige Bedingung entfernt werden.

AI Assistant

Vorschläge des AI-Assistant-Plugins zur Optimierung des Codes

AI Assistant Beschränkter Zugang

Mit diesem Release führen wir eine wichtige Neuerung in GoLand ein: AI Assistant. Aktuell bietet AI Assistant einen integrierten KI-Chat und kann automatisch Dokumentationskommentare für Sie schreiben, Namen vorschlagen, Commit-Nachrichten generieren und einiges mehr.

AI Assistant basiert auf dem JetBrains AI Service, der Ihnen zunächst eine Schnittstelle zu OpenAI bietet und in Zukunft noch weitere Sprachmodellanbieter einbinden wird. Um auf die KI-Funktionen zugreifen zu können, müssen Sie das JetBrains-AI-Plugin installieren und sich mit Ihrem JetBrains-Account beim JetBrains AI Service anmelden. Die Verfügbarkeit des JetBrains AI Service kann in der Anfangszeit variieren. Weitere Informationen zum AI Assistant und eine Startanleitung finden Sie auf dieser Seite.

Docker

Vorschau auf den Inhalt einer Docker-Image-Schicht in der Services-Ansicht

Vorschau auf Dateien in Docker-Images

Sie können sich jetzt ganz einfach den Inhalt einer Docker-Image-Schicht im Services-Toolfenster in einer Vorschau anzeigen lassen. Wählen Sie das Image in der Liste aus, wählen Sie Show layers und klicken Sie auf Analyze image for more information. Daraufhin wird eine Liste der in der Schicht gespeicherten Dateien angezeigt. Sie können die gewünschte Datei ganz einfach im Editor öffnen, indem Sie mit der rechten Maustaste auf die Datei klicken und Open File (bzw. bei Binärdateien Download File) auswählen.

Ausführen eines Docker-Containers in Run-Konfigurationen als „Before Launch“-Aufgabe

Ausführen eines Docker-Containers in Run-Konfigurationen als Before Launch-Aufgabe

Sie können jetzt eine Docker-Run-Konfiguration vor einer anderen Konfiguration ausführen lassen, indem Sie sie als Before Launch-Aufgabe festlegen. Die IDE wartet, bis der aktuell ausgeführte Container einen „gesunden“ Zustand erreicht, und startet dann die nächste Run-Konfiguration. Um eine Warteschlange einzurichten, erstellen Sie zunächst die erforderliche Docker-Run-Konfiguration und fügen Sie sie dann über Modify options | Add before launch task | Run configuration zum Container hinzu.

Kubernetes-Plugin

Kubernetes-Einstellungen in GoLand

Unterstützung für mehrere kubeconfig-Dateien in einem Projekt

Eine neue Funktion ermöglicht die Verwendung mehrerer kubeconfig-Dateien in einem einzigen Projekt. Dies vereinfacht den Umgang mit mehreren Clustern bzw. mit Umgebungen auf unterschiedlichen Clustern innerhalb eines Projekts. Um die Dateien einzurichten, gehen Sie zu File | Settings | Build, Execution, Deployment | Kubernetes.

Anzeige von Kubernetes-Deployment-Protokollen in GoLand

Anzeige von Deployment-Protokollen

Das Services-Toolfenster bietet jetzt Zugriff auf Protokolle von Bereitstellungen auf Kubernetes-Clustern. Klicken Sie in der Baumstruktur mit der rechten Maustaste auf Deployment und wählen Sie dann im Kontextmenü Follow Log oder Download Log aus.

Performance

Neues Tool für die einfache Generierung von geteilten Indizes

Wir haben ein neues Befehlszeilentool zum einfachen Erstellen und Hochladen von geteilten Indizes eingeführt. Das Tool vereinfacht die Teamarbeit und spart Zeit, die sonst von der lokalen Indizierung großer Projekte beansprucht wird. Mit dem neuen Tool kann Ihr Team geteilte Indizes viel einfacher erstellen, denn statt mehrerer Skripte und Dienste sind nur wenige Klicks erforderlich.
Mehr erfahren

Versionsverwaltung

Auswahl von Zeilen für einen Commit

Commit auf bestimmte Codezeilen beschränken

Sie können jetzt selektive Commits von einzelnen Teilen eines Codeabschnitts durchführen. Um einen teilweisen Commit durchzuführen, markieren Sie die Zeilen innerhalb eines Abschnitts und wählen Sie im Kontextmenü Include these lines into commit aus. Der Abschnitt wird dadurch in einzelne Zeilen aufgeteilt. Über Kontrollkästchen oder das Kontextmenü können Sie Zeilen zur Auswahl hinzufügen oder aus ihr entfernen.

GitLab-Integration

Das GitLab-Plugin in GoLand

GoLand 2023.2 führt eine GitLab-Integration ein, um Ihren Entwicklungsworkflow zu vereinfachen. Sie können Merge-Requests jetzt direkt in der IDE bearbeiten: die Liste der Requests durchgehen, Änderungen überprüfen, Kommentare eingeben und zu den entsprechenden Stellen navigieren.

Kafka-Plugin

Das Kafka-Plugin in GoLand

Kafka-Plugin

Mit dem neuen Kafka-Plugin können Sie Ihre Kafka-Event-Streaming-Prozesse überwachen. Sie können eine Verbindung zu einem Kafka-Cluster herstellen, Nachrichten in unterschiedlichen Formaten produzieren und konsumieren, Themen verwalten, Konsumentengruppen überwachen und Confluent Schema Registry bzw. AWS Glue Schema Registry verwenden. Weitere Details finden Sie auf dieser Dokumentationsseite.

Benutzererfahrung

Auswahl der integrierten VS-Code-Tastaturbelegung in den GoLand-Einstellungen

Integrierte VS-Code-Tastaturbelegung

Wenn Sie mit den Tastenkürzeln von VS Code vertraut sind, können Sie diese jetzt im Customize-Bereich des Begrüßungsbildschirms aktivieren. Sie haben auch die Möglichkeit, Ihre Tastaturkonfiguration unter Settings | Keymap zu ändern.

Sortierung von Dateien nach ihrer Änderungszeit

Dateisortierung nach Änderungszeit in der Project-Ansicht

GoLand 2023.2 bietet die lang erwartete Option, Ihre Dateien in der Project-Ansicht nach der Änderungszeit anzuordnen. Diese neue Funktion sortiert die Dateien automatisch neu, wenn Änderungen in Ihrem Projekt gespeichert werden. Um diese Funktion zu aktivieren, öffnen Sie das Dreipunktmenü in der Project-Ansicht und aktivieren Sie dann Tree Appearance | Sort by Modification Time.

Anheften einer Run-Konfiguration in GoLand

Anheften von Run-Konfigurationen im Run-Widget

Um die Verwaltung von Run-Konfigurationen zu erleichtern, haben wir die Möglichkeit eingeführt, bevorzugte Konfigurationen im Run-Widget anzuheften. Um eine Run-Konfiguration im Pinned-Bereich anzuheften, öffnen Sie das Dreipunktmenü neben dem Namen der Konfiguration und wählen Sie Pin. Wenn Sie mehrere angeheftete Konfigurationen haben, können Sie die Reihenfolge innerhalb der Liste unkompliziert durch Ziehen verändern.

Hinzufügen der Schaltfläche Update Project zur Hauptsymbolleiste

Verbesserte Anpassungsmöglichkeiten für die Hauptsymbolleiste

Wir haben die Anpassungsmöglichkeiten für die Symbolleiste der neuen Bedienoberfläche erweitert. Sie können jetzt über ein Dropdown-Menü unkompliziert Aktionen zur Symbolleiste hinzufügen. Klicken Sie hierzu mit der rechten Maustaste auf ein Widget, wählen Sie Add to Main Toolbar und erkunden Sie die verfügbaren Optionen.

Verlagerung des Hamburger-Menüs in eine separate Symbolleiste in GoLand unter Windows

Überarbeitetes Hamburger-Menü in der Hauptsymbolleiste unter Windows und Linux

Wir haben unter Windows und Linux das Verhalten des Hamburger-Menüs in der Symbolleiste der neuen Bedienoberfläche verbessert. Wenn Sie das Menüsymbol anklicken, werden die Elemente nun horizontal über der Symbolleiste angezeigt. Außerdem können Sie dieses Menü jetzt unter View | Appearance | Main menu as a Separate Toolbar in eine separate Symbolleiste auslagern.

Option „Open Directories with Single Click“ in den GoLand-Einstellungen

Ein-Klick-Navigation zwischen Projektverzeichnissen

In der Project-Ansicht gibt es eine neue Option Open Directories with Single Click, um Projektordner schneller und einfacher auf- und zuzuklappen. Die Option ist im Dropdown-Menü verfügbar, wenn Sie auf das Dreipunktsymbol klicken.

Textsuchergebnisse im Popup Search Everywhere

Textsuche in Search Everywhere

Search Everywhere (2x Umschalttaste) dient in erster Linie zur Suche nach Dateien, Methoden, Aktionen und Einstellungen. Mit diesem Update kommen Textsuchfunktionen hinzu, die mit der Funktionalität von Find in Files vergleichbar sind. Dadurch können jetzt Textsuchergebnisse angezeigt werden, wenn für eine bestimmte Suchanfrage nur wenige oder keine anderen Treffer vorhanden sind. Die Funktion ist standardmäßig aktiviert und kann unter Settings | Advanced Settings verwaltet werden.

Syntaxhervorhebung in einer Inspektionsbeschreibung

Syntaxhervorhebung in Inspektionsbeschreibungen

Dank der neuen Syntaxeinfärbung der Codebeispiele in Settings | Editor | Inspections lässt sich jetzt einfacher nachvollziehen, was eine Inspektion auslöst und ob sie lieber aktiviert oder deaktiviert werden soll.

Plugin-Empfehlungen im Plugin-Abschnitt der Einstellungen

Plugin-Empfehlungen in den Einstellungen

Um die Konfiguration der IDE für Ihre spezifischen Projekte und die Erweiterung der IDE-Funktionalität durch Plugins zu erleichtern, haben wir den Bereich Settings | Plugins überarbeitet. Dieser enthält jetzt einige Plugin-Vorschläge, die anhand Ihrer Projekteigenschaften automatisch ausgewählt und ganz oben in der Liste angezeigt werden.

Bedienoberfläche

In GoLand geöffnete Projekte mit Kopfleisten in unterschiedlichen Farben

Farbige Projektkopfleisten in der neuen Bedienoberfläche

GoLand 2023.2 führt farbige Kopfleisten ein, um die Navigation zwischen mehreren offenen Projekten zu vereinfachen. Sie können jetzt jedem Projekt eine Farbe und ein Symbol zuweisen, um sie bei der Arbeit leichter unterscheiden zu können.

Den Projekten werden automatisch Kopfleistenfarben zugewiesen, Sie können diese jedoch jederzeit anpassen. Um eine neue Farbe für Ihr Projekt festzulegen, klicken Sie mit der rechten Maustaste auf eine Kopfleiste, um das Kontextmenü zu öffnen. Klicken Sie auf Change Project Color und wählen Sie die gewünschte Farbe aus. Wenn Sie diese Funktion deaktivieren möchten, können Sie einfach die Option Show Project Gradient im Kontextmenü deaktivieren.

Das Design „Light with Light Header“ in GoLand

Helles Design mit hellen Kopfleisten in der neuen UI

In v2023.2 verbessern wir die Nutzungserfahrung beim Light-Design durch die Einführung der Alternative Light with Light Header, die passende helle Farben für Fensterkopfzeilen, Tooltips und Benachrichtigungsblasen verwendet.

Aktualisiertes Services-Toolfenster in GoLand

Aktualisierte Bedienung für das Run/Debug-Widget im Services-Toolfenster

Wir haben die Bedienung der Ausführen- und Debuggen-Aktionen im Services-Toolfenster überarbeitet, um Einheitlichkeit zwischen der Symbolleiste und dem Run/Debug-Hauptwidget zu gewährleisten.

GoLand ohne native Linux-Kopfleiste

Neue UI ohne Titelleiste unter Linux

Um Linux-Benutzer*innen eine übersichtlichere Oberfläche zu bieten, haben wir die systemseitige Kopfleiste in der neuen Bedienoberfläche entfernt. Standardmäßig sehen Sie nun die IDE-spezifische Kopfleiste, die eine Reihe von Optionen zur Anpassung Ihres Arbeitsbereichs bietet.

HTTP-Client

Code-Completion für ein Swagger-Schema im HTTP-Client

Unterstützung für Swagger- und OpenAPI-Schemata

Der HTTP-Client versteht jetzt die Spezifikationen Swagger und OpenAPI und kann entsprechende Code-Completion-Vorschläge für JSON-Anfragen bereitstellen.

Importieren von JavaScript-Code in den HTTP-Client

Unterstützung für JavaScript-Importe

Sie können jetzt JavaScript-Code für Anfrage-Handler im HTTP-Client über importierte Module wiederverwenden.

Vorschau einer PDF-Datei im HTTP-Client

PDF- und HTML-Vorschau für Antworten

GoLand kann jetzt PDF- und HTML-Dateien direkt in den Anfrageergebnissen des HTTP-Clients anzeigen.

Eine mit TLS übermittelte gRPC-Anfrage im HTTP-Client

gRPC-Anfragen mit TLS im HTTP-Client

Sie haben jetzt die Möglichkeit, gRPC-Anfragen im HTTP-Client mit Transport Layer Security (TLS) zu versenden. TLS stellt Verschlüsselung und Authentifizierung bereit und gewährleistet so die Vertraulichkeit und Integrität Ihrer Datenübertragung. Sowohl https:// als auch grpcs:// werden in der Anfragesyntax unterstützt.

Webentwicklung

Verbesserte Formatierung von TypeScript-Fehlern in GoLand

Verbesserte Fehlerformatierung

Fehler und Warnungen werden in GoLand 2023.2 jetzt verständlicher formatiert, damit Sie Probleme in Ihrem Code einfacher erkennen können. Die Verbesserungen gelten für alle TypeScript- sowie die häufigsten JavaScript-Fehler.

Eine Inspektion zur Korrektur der Verwendung von verschachteltem CSS-Code in GoLand

Unterstützung für CSS-Schachtelung

GoLand unterstützt jetzt das Feature CSS Nesting Module. Wir haben Syntaxunterstützung und eine Inspektion implementiert, die prüft, ob ein verschachtelter Selektor nicht mit einem Bezeichner oder einer Funktionsnotation beginnt.

Sonstiges

GoLand hebt in einem YAML-Dokument die Zeichenfolge „No“ hervor

Inspektion für das „Norwegen-Problem“ in YAML-Dateien

Wir haben eine neue Inspektion eingeführt, um dem sogenannten Norwegen-Problem und der Fehlinterpretation von booleschen Werten in YAML-Dateien vorzubeugen.

Wenn eine Liste hauptsächlich aus Zeichenfolgen besteht, aber ein boolesches Literal enthält, hebt GoLand dieses Literal hervor, um auf eine mögliche Unstimmigkeit hinzuweisen, und schlägt vor, es in Anführungszeichen zu setzen. Wenn die Liste hauptsächlich aus booleschen Literalen besteht (z. B. true, false, off, on, yes, no), wird jedes Literal, das von diesem Muster abweicht, als möglicher Fehler hervorgehoben. In diesem Szenario werden allerdings keine speziellen Quick-Fixes angeboten.

Der überarbeitete Dialog zur Bearbeitung von Swagger-Codegen-Konfigurationen in GoLand

Verbesserungen für Swagger Codegen

Die IDE bietet jetzt eine bessere Nutzungserfahrung beim Einrichten von Swagger-Codegen-Konfigurationen. Wir haben den Dialog Edit Swagger Codegen Configuration überarbeitet, damit Sie Run-Konfigurationen einfacher an Ihre Anforderungen anpassen können.

Ausführen einer Swagger-Codegen-Konfiguration in GoLand

Außerdem können Sie jetzt direkt in der Randleiste auf die Run-Konfiguration für Swagger Codegen zugreifen, ohne zusätzliche Einstellungen vornehmen zu müssen.

Redoc-Vorschau in GoLand

Redoc-UI-Vorschau für OpenAPI- und Swagger-Dateien

GoLand unterstützt jetzt Redoc-UI-Vorschauen für OpenAPI- und Swagger-Spezifikationsdateien einschließlich YAML- und JSON-Dateien, sodass Sie innerhalb der IDE zwischen Redoc- und Swagger-UI wechseln können. Dank Redocly-Integration können Sie von GoLand aus auf die Try-it-Konsole zugreifen, um Parameter festzulegen und Anfragen an Ihre API zu senden.

Endpunkte eines AsyncAPI-Schemas im Fenster „Editor Preview“

Unterstützung für die Bearbeitung von AsyncAPI-Dateien

In GoLand können Sie jetzt viel einfacher mit dem AsyncAPI-Spezifikationsformat arbeiten. Die IDE bietet Schema-Validierungsfunktionen, Code-Completion für Referenzen, eine Endpoints-Ansicht sowie eine Vorschau im Editor Preview-Fensterbereich.

LSP-API für die Plugin-Entwicklung

Mit dieser Version haben wir eine LSP-API für Plugin-Entwickler*innen eingeführt, die einen bestimmten LSP-Server für die Programmierunterstützung in der IDE verwenden möchten. Wenn Sie eine eigene Programmiersprache oder ein Framework entwickelt haben, können Sie dafür sorgen, dass diese von der IDE unterstützt werden, indem Sie einen LSP-Server und ein Plugin erstellen.