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!
go list
zur Verbesserung der Indizierung Wenn Sie ein Projekt öffnen, indiziert GoLand die Dateien und führt den Befehl go list
aus, um Informationen über die Projektstruktur zu gewinnen. 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.
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.
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.
Sie haben jetzt die Möglichkeit, Tests für Funktionen mit generischen Parametern zu generieren.
Eine neue Inspektion erkennt jetzt kleingeschriebene Typparameter, und ein dazugehöriger Quick-Fix kann sie in Großschreibung umwandeln.
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.
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 1.19 bietet Unterstützung für Links, Listen und neue Überschriften in Dokumentationskommentaren. GoLand 2022.3 unterstützt diese Neuerungen ebenfalls.
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.
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.
Listen werden im Schnelldokumentations-Popup und im Documentation-Toolfenster von GoLand als HTML-Listen dargestellt.
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.
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.
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.
Außerdem wird neben allen Funktionen und Typen angezeigt, wie oft sie im aktuellen Projekt referenziert werden.
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.
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.
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.
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.
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.
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\.$
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.
Der HTTP-Client unterstützt jetzt die Crypto-API. Sie können md5- oder sha1-Hashwerte für HTTP-Anfragen berechnen.
Für einfache Fälle bietet die IDE jetzt eine Reihe von neuen Zufallsvariablen.
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.
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.
.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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Hinweis: Informationen zu allen Datenbank-Updates in Version 2022.3 finden Sie auf der Seite Das ist neu in DataGrip.
Wir haben eine erste Iteration der lang erwarteten Redis-Unterstützung umgesetzt.
Bei der Verwendung der Schnellsuche haben Sie jetzt die Möglichkeit, Objekte zu filtern. Alle Objekte, die nicht dem Filter entsprechen, werden ausgeblendet.
Hinweis: Details zu allen Verbesserungen in Version 2022.3 im Zusammenhang mit der Webentwicklung erfahren Sie auf der Seite Das ist neu in WebStorm.
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.
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.
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.