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 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.
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.
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.
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.
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.
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.
min
, max
und clear
min
, max
und clear
. make
make
-Funktionsargumente Wir haben eine Completion-Unterstützung für make
-Funktionsaufrufe eingeführt, die Typen berücksichtigt.
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.
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.
In der Fehlermeldung für fehlende Typargumente bei der Instanziierung eines Typs wird der Fehler jetzt explizit angegeben.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Der HTTP-Client versteht jetzt die Spezifikationen Swagger und OpenAPI und kann entsprechende Code-Completion-Vorschläge für JSON-Anfragen bereitstellen.
Sie können jetzt JavaScript-Code für Anfrage-Handler im HTTP-Client über importierte Module wiederverwenden.
GoLand kann jetzt PDF- und HTML-Dateien direkt in den Anfrageergebnissen des HTTP-Clients anzeigen.
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.
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.
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.
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.
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.
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.
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.
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.
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.