Das ist neu in GoLand

GoLand 2022.3: bessere Performance, neue Funktionen für Generics und Go-Workspaces.

Wir haben Go Playground integriert, Unterstützung für verbesserte Go-Doc-Kommentare hinzugefügt, neue Funktionen für den HTTP-Client und für Docker eingeführt und die neue Bedienoberfläche öffentlich verfügbar gemacht.

Wie üblich gibt es auch neue Funktionen für die Webentwicklung und Datenbanken – z. B. Unterstützung für Redis.

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

Und last but not least: GoLand wird heute 5 Jahre alt und wir laden Sie ein, mit uns zu feiern. Geben Sie „Happy B-day, GoLand!“ in GoLand 2022.3 oder GoLand 2022.2.5 ein und lassen Sie sich überraschen!

Optimierung der Leistung

Das Fenster für Hintergrundaufgaben zeigt die Indizierung und die Ausführung von go list

Änderungen für go list zur Verbesserung der Indizierung

When you open a project, GoLand indexes the files and runs the go list command, which reports information about the project structure. Die Indizierung wird angehalten, während go list ausgeführt wird, und der Zugriff auf Code-Insight-Funktionen ist erst nach Abschluss der Indizierung verfügbar.

Bisher hat GoLand go list in einigen Fällen zweimal aufgerufen. Wir haben unsere API geändert und die Anzahl der Ausführungen von go list reduziert. Wir sind zuversichtlich, dass diese Änderung die Leistung bei großen Projekten mit vielen Modulen deutlich verbessert.

Wiederherstellung der Projektstruktur aus dem Cache beim Öffnen

Wenn Sie ein Projekt öffnen, werden die von go list gemeldeten Informationen ab sofort im Cache auf der Festplatte gespeichert. Bei einem erneuten Öffnen des Projekts werden die Daten zur Projektstruktur aus dem Speicher geladen und bei der Indizierung berücksichtigt.

Dadurch kann die Indizierung ohne Pausen durchgeführt und schneller abgeschlossen werden, und die Code-Insight-Funktionen sind nach dem Öffnen des Projekts viel schneller verfügbar.

IDE-Start und Öffnen von Projekten beschleunigt

GoLand profitiert von einer Reihe weiterer Performance-Verbesserungen, die eingeführt wurden, um das Starten von Anwendungen und das Öffnen von Projekten in JetBrains-IDEs zu beschleunigen.

Dadurch wurde die allgemeine Startperformance – einschließlich der Wiederherstellung des Editors – um ca. 30% verbessert.

Generics

Generierung eines Tests für eine generische Funktion

Testgenerierung für generische Funktionen

Sie haben jetzt die Möglichkeit, Tests für Funktionen mit generischen Parametern zu generieren.

Ein Quick-Fix löscht Typparameter mit leeren Parameterlisten

Quick-Fix zur Großschreibung von Typparametern

Eine neue Inspektion erkennt jetzt kleingeschriebene Typparameter, und ein dazugehöriger Quick-Fix kann sie in Großschreibung umwandeln.

Go-Workspaces

Verwendung der Aktion Go Workspace File

Die Aktion Go Workspace File

Im New-Kontextmenü finden Sie jetzt die Aktion Go Workspace File. Wenn Sie sie auswählen, wird eine go.work-Datei in Ihrem Stammordner angelegt. Vorhandene Go-Module werden automatisch zur go.work-Datei hinzugefügt.

Generieren von go.work mit replace-Anweisungen

Generieren von go.work mittels replace-Anweisungen

Sie können jetzt go.work aus go.mod generieren, wenn Sie dort replace-Anweisungen angelegt haben. Legen Sie die Einfügemarke auf eine replace-Anweisung, drücken Sie Alt+Enter, um alle verfügbaren Kontextaktionen anzuzeigen, und wählen Sie den Quick-Fix Add … module to workspace.

Go-Doc-Kommentare

Go 1.19 bietet Unterstützung für Links, Listen und neue Überschriften in Dokumentationskommentaren. GoLand 2022.3 unterstützt diese Neuerungen ebenfalls.

Text- und Dokumentationslinks werden im Schnelldokumentations-Popup und im Documentation-Toolfenster angezeigt

Unterstützung für Links

GoLand unterstützt jetzt Dokumentationslinks. Ein Klick auf den Link führt zum referenzierten Element, während ein Klick auf einen Textlink zu einer Textlink-Definition führt.

Sowohl Text- als auch Dokumentationslinks werden im Schnelldokumentations-Popup und im Documentation-Toolfenster als Links angezeigt.

Neue Überschriften im Documentation-Toolfenster

Unterstützung für neue Überschriften

Ab Go 1.19 werden Zeilen, die mit einem Doppelkreuz (#) und einem nachfolgenden Leerzeichen beginnen, als Überschrift interpretiert.

Diese neuen Überschriften zeigt GoLand im Schnelldokumentations-Popup und im Documentation-Toolfenster als HTML-Überschriften an.

Anzeige von Listen im Documentation-Toolfenster

Unterstützung für Listen

Listen werden im Schnelldokumentations-Popup und im Documentation-Toolfenster von GoLand als HTML-Listen dargestellt.

Go Playground integriert

Verwendung von Go Playground in GoLand

Wir haben die Go-Playground-Funktionalität in GoLand integriert.

Sie können einen Codeabschnitt auswählen, die Option Open In auswählen und dann auf Playground klicken. Dadurch wird eine Scratch-Datei geöffnet, deren Symbolleiste dieselben Optionen enthält, die Sie auch von Go Playground kennen.

Sie können Ihren Code formatieren und teilen, die Go-Version ändern und Ihren Code auf dem Go-Playground-Server oder lokal ausführen.

Neue Quick-Fixes

Quick-Fix zum Umwandeln eines Typs in einen Zeiger

Quick-Fix für ungültige rekursive Typen

Wenn Ihr Typ sich selbst enthält, führt dies zur Fehlermeldung „Ungültiger rekursiver Typ“. To avoid this, you should include a pointer to a type, not a type itself. Dafür bieten wir jetzt einen Quick-Fix.

Editor

Anzeige der Codeautorenschaft im Editor

Code Vision

Wir haben mit der Implementierung der Code-Vision-Funktionalität begonnen. Im Moment wird die Codeautorenschaft angezeigt, wenn die Integration der Versionsverwaltung aktiviert wurde. Wenn Sie auf den Namen klicken, öffnet sich die Seitenleiste Annotate with Git blame, in der Sie sehen können, wer welche Änderungen vorgenommen hat.

Anzeige von Verwendungen neben Funktionen und Typen

Außerdem wird neben allen Funktionen und Typen angezeigt, wie oft sie im aktuellen Projekt referenziert werden.

Anzeige von Inlay-Hinweisen für konstante Definitionsblöcke im Editor

Inlay-Hinweise für konstante Definitionen

GoLand zeigt jetzt Inlay-Hinweise für konstante Definitionsblöcke an. Besonders nützlich ist dies bei Konstantenblöcken, die von iota abgeleitet wurden, denn hier zeigen die Hinweise die iota-Werte für jede Position an.

Automatisch generierte Protobuf-Felder werden beim Aufruf der Kontextaktion Fill all fields ignoriert

Ignorieren automatisch generierter Protobuf-Felder bei Fill all fields

Wenn Sie die Kontextaktion Fill all fields aufrufen, ignoriert die IDE jetzt automatisch generierte Protobuf-Felder, die mit XXX_ beginnen. Diese Felder werden erst angezeigt, wenn Sie die Completion zum zweiten Mal aufrufen.

Weitere Go-bezogene Funktionen

Anzeige von Go-Umgebungsvariablen in den Einstellungen

Anzeige von Go-Umgebungsvariablen in den Einstellungen

GoLand erfasst jetzt automatisch Systemvariablen, die einen Bezug zu Go-Modulen haben, und zeigt diese im Dialogfenster Environment variables an. Um dieses Fenster zu öffnen, gehen Sie zu Settings | Go | Go Modules und klicken Sie auf das Symbol Edit environment variables.

Anzeige von Paketnamen in der Schnelldokumentation

Paketnamen in der Schnelldokumentation immer angezeigt

Die IDE zeigt jetzt bei Top-Level-Deklarationen die Paketnamen stets im Schnelldokumentations-Popup an. Zuvor wurden Paket-Header nur angezeigt, wenn doc.go- oder <pkg_name>.go-Dateien gefunden wurden.

Dateigrößenlimit erhöht

Wir haben das Dateigrößenlimit von 2,5 MB auf 10 MB angehoben. Code-Insight-Funktionen wie die Navigation und die Syntaxhervorhebung funktionieren nicht bei Dateien, die das Größenlimit überschreiten.

Das Limit von 2,5 MB reichte zwar für die meisten Dateien aus, aber es gibt auch Projekte mit größeren Dateien – zum Beispiel das AWS-SDK oder GCP.

Inspektion Receiver names are different ignoriert generierten Code

Da die Inspektion Receiver names are different für generierten Code nicht relevant ist, haben wir sie für Dateien deaktiviert, die einen Kommentar enthalten, der dem folgenden regulären Ausdruck entspricht: ^// Code generated .* DO NOT EDIT\.$

HTTP-Client

Schreiben eines Skriptblocks im HTTP-Client

Vorab-Skripte für Anfragen und neue APIs für JavaScript-Handler

Der HTTP-Client unterstützt jetzt die Ausführung von Skriptblöcken vor einer Anfrage. Sie können zum Beispiel vor der Ausführung der Anfrage Daten generieren und sie mithilfe von Variablen in die Anfrage übernehmen. Ein Quick-Fix erstellt für Sie das Codegerüst zur Initialisierung der Variablen.

Berechnung von md5- oder sha1-Hashwerten für HTTP-Anfragen

Der HTTP-Client unterstützt jetzt die Crypto-API. Sie können md5- oder sha1-Hashwerte für HTTP-Anfragen berechnen.

Verwendung von Zufallswerten in HTTP-Anfragen

Für einfache Fälle bietet die IDE jetzt eine Reihe von neuen Zufallsvariablen.

Docker

Die Docker-Einstellungen in GoLand unter Windows

Docker-Programmdatei aus WSL ohne Docker Desktop

GoLand unterstützt jetzt Verbindungen zu Docker-Instanzen, die im Windows-Subsystem für Linux (WSL) ausgeführt werden. Sie können eine solche Verbindung unter Settings | Build, Execution, Deployment | Docker einrichten.

Quick-Fix zum Abrufen eines Image mittels Pull

Neue Kontextaktion: Pull Docker image

Jetzt gibt es eine einfache Möglichkeit, ein benötigtes Image abzurufen, ohne es über Dockerfile oder docker-compose.yml auszuführen. Rufen Sie dazu über dem hervorgehobenen Image-Namen mit Alt+Enter die Kontextaktionen auf und wählen Sie dann Pull Docker image.

Verwendung der Code-Completion in einer dockerignore-Datei

Unterstützung für den Dateityp .dockerignore

.dockerignore-Dateien werden jetzt vollständig unterstützt, einschließlich Syntaxhervorhebung und Completion. Diese Dateien werden jetzt berücksichtigt, wenn Sie aus der IDE heraus ein Image erstellen.

Hervorhebung der Heredoc-Syntax in GoLand

Heredoc-Unterstützung in Dockerfile-Dateien

Here-Dokumente erlauben die Umleitung nachfolgender Dockerfile-Zeilen als Inputs für die Befehle RUN oder COPY. GoLand unterstützt jetzt diese Syntax, sodass Sie damit Konfigurationsdateien oder mehrzeilige Skripte direkt in Ihren Dockerfile-Dateien generieren können.

Einrichten zusätzlicher Docker-Verbindungen mittels Docker-Kontexten

Docker-Verbindungen aus Docker-Kontexten

Sie können jetzt zusätzliche Docker-Verbindungen mithilfe von Docker-Kontexten einrichten, wenn die entsprechenden Einstellungen bereits in Ihrer Docker-Konfiguration vorliegen. Dazu rufen Sie in der Services-Ansicht das Kontextmenü Add Service auf und wählen die Option Docker Connections From Docker Contexts aus.

Remote-Entwicklung (Beta)

Der Remote-Entwicklungsbereich auf dem GoLand-Begrüßungsbildschirm

Bei Verwendung der Remote-Entwicklung in GoLand kann Ihr IDE-Backend jetzt direkt in WSL 2 gestartet werden, und die Herstellung der Verbindung erfolgt genauso wie bei einem beliebigen Remote-System.

Bedienoberfläche

Vorschau auf neue Bedienoberfläche in den Einstellungen

Neue UI verfügbar

Wie Sie vielleicht bereits wissen, haben wir im Mai ein geschlossenes Preview-Programm für die neue Bedienoberfläche der JetBrains-IDEs gestartet.

Wir laden Sie jetzt herzlich ein, die neue UI unter Settings | Appearance & Behavior | New UI Preview einzuschalten, zu testen und uns Feedback zu dieser Änderung zu geben.

Verwendung der Vorschaufunktion für Kontextaktionen

Vorschau für Kontextaktionen standardmäßig aktiviert

Die Vorschaufunktion für Kontextaktionen ist jetzt standardmäßig aktiviert, sodass Sie sofort sehen können, wie Ihr Code verändert wird, wenn Sie die Vorschläge der IDE übernehmen.

Während die Liste der Kontextaktionen geöffnet ist, können Sie die Vorschaufunktion durch Drücken von Strg+Q aktivieren oder deaktivieren.

Herausziehen eines Toolfensters aus dem Hauptfenster und Andocken an einen schwebenden Editor-Tab

Andocken von Toolfenstern an schwebende Editor-Tabs

Damit Sie Ihren Arbeitsbereich besser einrichten und GoLand komfortabler mit mehreren Bildschirmen verwenden können, lassen sich Toolfenster jetzt aus dem Hauptfenster herausziehen und an schwebende Editor-Tabs andocken.

Das Fenster „Tipp des Tages“

Tipp des Tages verbessert

Wir haben die Funktion Tips of the Day verbessert, damit Sie mit diesem Lerntool GoLand noch besser erkunden können.

Jeder Tipp hat jetzt eine Überschrift. Der Algorithmus, der bestimmt, welche Tipps angezeigt werden, wurde außerdem verfeinert, damit Ihnen die Tipps angezeigt werden, die für Ihre Erfahrungen mit der IDE und das aktuell bearbeitete Projekt am relevantesten sind.

Anlegen eines Lesezeichen für eine Datei in einem Editor-Tab

Überarbeitete Lesezeichen

Es ist wieder möglich, in Editor-Tabs Lesezeichen für Dateien zu setzen. Klicken Sie einfach mit der rechten Maustaste auf einen Tab und wählen Sie im Kontextmenü den Eintrag Bookmarks.

Speichern aller Dateien in aktuell geöffneten Tabs in den Lesezeichen

Sie können alle Dateien in den derzeit geöffneten Tabs zu Ihren Lesezeichen hinzufügen. Rufen Sie dazu die Aktion Bookmark Open Tabs entweder im vorhin erwähnten Kontextmenü oder über das Drei-Punkte-Symbol am rechten Rand der Editor-Tableiste auf.

Abschnitt „Settings Sync“ in den GoLand-Einstellungen

Settings Sync: neue Lösung zur Synchronisierung von Einstellungen

Wir haben eine überarbeitete Lösung zur Synchronisierung der Benutzereinstellungen eingeführt. Lange Zeit gab es zwei voneinander unabhängige Plugins, deren Funktionalität sich überschnitt: IDE Settings Sync und Settings Repository. Um die Verwirrung zu vermeiden, die durch zwei ähnliche, standardmäßig installierte Plugins entsteht, haben wir ihre Funktionen zu einer einzigen Lösung zusammengeführt – dem neuen Plugin Settings Sync.

You can find details about the new unified solution here.

Datenbanken

Hinweis: Informationen zu allen Datenbank-Updates in Version 2022.3 finden Sie auf der Seite Das ist neu in DataGrip.

Auswählen einer Redis-Verbindung im Datenbank-Toolfenster

Redis-Unterstützung

Wir haben eine erste Iteration der lang erwarteten Redis-Unterstützung umgesetzt.

Filtern von Objekten bei der Schnellsuche im Datenbank-Toolfenster

Schnellfilter

Bei der Verwendung der Schnellsuche haben Sie jetzt die Möglichkeit, Objekte zu filtern. Alle Objekte, die nicht dem Filter entsprechen, werden ausgeblendet.

Webentwicklung

Hinweis: Details zu allen Verbesserungen in Version 2022.3 im Zusammenhang mit der Webentwicklung erfahren Sie auf der Seite Das ist neu in WebStorm.

Anzeige der Codeautorenschaft und der Anzahl der Verwendungen im Editor

Code Vision für JavaScript und TypeScript

Mit dieser Version führen wir die neue Code-Vision-Funktionalität für die Webentwicklung ein. Dabei werden verschiedene Kennzahlen für Typen und Typmember in Ihrem JavaScript- und TypeScript-Code ermittelt und direkt neben der jeweiligen Deklaration angezeigt.

Weitere Updates

Quick-Fix zum Unterdrücken einer Inspektion in einer YAML-Datei

Quick-Fix zum Unterdrücken von YAML-Inspektionen

Ein neuer Quick-Fix ermöglicht das Unterdrücken von Inspektionen mit einem Kommentar in YAML-Dateien, einschließlich Kubernetes-Dateien, OpenAPI-Spezifikationen und docker-compose.yml-Dateien.

Wir haben außerdem eine Option zum Einklappen von Kommentaren eingeführt, die aus mindestens drei Zeilen bestehen und mit # beginnen.

Installationsprogramme für Windows ARM64

Wir haben mit der Bereitstellung von Installationsprogrammen für Windows ARM64 begonnen. Sie können diese ab sofort von unserer Website oder über die Toolbox-App herunterladen.