Das ist neu in GoLand

GoLand 2021.3 bietet native Unterstützung für Go-Projekte in WSL, ein Inline Function-Refactoring und Remote-Entwicklung (Beta).

Ab dieser Version ist die Ausführung von gofmt beim Speichern standardmäßig aktiviert. Auch beim Debugging bietet GoLand 2021.3 Verbesserungen: Delve für ARM64, die Option Show Types und mehr.

Zu den weiteren Neuerungen zählen zwei Postfix-Funktionen zum Konvertieren von Zeichenfolgen in Zahlen, eine neue Vorlage für Tabellentests mit testify-Assertions und eine verbesserte Completion für Werte in Struct-Tags.

Wie immer bietet die neue GoLand-Version Verbesserungen für die Webentwicklung und eine Vielzahl neuer Funktionen für die Arbeit mit Datenbanken.

Wenn Sie interaktive Lernmethoden bevorzugen, absolvieren Sie das Tutorial Das ist neu in GoLand 2021.3, das Sie auf dem Begrüßungsbildschirm finden.

WSL-Unterstützung

Erstellen eines Projekts und Auswahl eines SDK in WSL

Sie können jetzt Projekte in WSL öffnen und dort befindliche SDKs zur Verwendung auswählen.

Wenn Sie ein neues Projekt in WSL erstellen (oder ein bestehendes Projekt öffnen), weist GoLand Sie darauf hin, dass Sie für dieses Projekt ein Go-SDK in WSL verwenden müssen. Sie können ein Go-SDK herunterladen oder ein vorhandenes im Unterverzeichnis \\wsl$ auswählen.

Formatierer

Der Code wird beim Speichern einer Datei formatiert

gofmt beim Speichern

Die Option Reformat code, die beim Speichern gofmt und die GoLand-eigene Formatierungsfunktion ausführt, ist jetzt standardmäßig aktiviert.

Ein Popup-Fenster zeigt eine Benachrichtigung über die Codeformatierung beim Speichern an

Diese Änderung könnte für einige Nutzer*innen überraschend sein, daher wird in jedem Projekt einmal eine Benachrichtigung angezeigt. Klicken Sie auf Don’t show again, um die Benachrichtigung zu deaktivieren.

Wenn Sie auf Edit actions on save klicken, öffnet die IDE Settings | Tools | Actions on save, wo Sie die Einstellungen verwalten können.

Refaktorierungen

Inline Function und Inline Method

Das Inline-Refactoring für Funktionen und Methoden ist jetzt verfügbar. Um es auszuprobieren, legen Sie die Einfügemarke auf eine Funktion, Methode oder einen Aufruf und drücken Sie dann Strg + Alt + N.

Beim Aufrufen des Inline-Refactorings öffnet sich ein Popup-Fenster mit verschiedenen Optionen. Aus diesem Popup können Sie auch die Refactoring-Vorschau öffnen, die Ihnen hilft, alle Aufrufe einer Methode oder Funktion zu finden.

Abschluss

Die Code-Completion schlägt verschiedene Werte für Struct-Tags vor

Bessere Handhabung von Wertstilen in Struct-Tags

Wir haben die Handhabung der verschiedenen Arten von zusammengesetzten Wörtern – camelCase, snake_case usw. – beim Hinzufügen von Tags in Struct-Feldern verbessert.

Wenn Sie ein Tag ausfüllen, schlägt GoLand eine Liste mit mehreren Optionen vor. Nachdem Sie eine ausgewählt haben, merkt sich die IDE Ihre Auswahl und schlägt für andere Felder in diesem Struct denselben Stil zuerst vor.

Postfix-Vervollständigung

Postfix-Umwandlung von Zeichenfolgen in Zahlen

Neue Postfixes zur Umwandlung von Zeichenfolgen in Zahlen

Wir haben einige neue Postfixes eingeführt, um Zeichenfolgen in Zahlen zu konvertieren. Geben Sie einfach eine Zahl in doppelten Anführungszeichen ein, gefolgt von einem Punkt, und GoLand schlägt zwei Optionen zum Parsen der Zahl vor: parseInt und parseFloat.

Verwendungen anzeigen

Anzeige der Quelldatei bei Verwendung der Funktion Show Usages

Quellcode-Vorschau

Die Funktion Show Usages wurde verbessert: Sie können sich jetzt eine Quellcode-Vorschau für eine Verwendung anzeigen lassen, indem Sie auf das quadratische Symbol klicken.

Ausführungsziele

Konfigurieren von Ordnern auf einem Remote-Ziel

Ordner für Quellcode- und ausführbare Dateien konfigurieren

Sie können jetzt den Ordnern, in denen auf einem Remote-System die Quellen und ausführbaren Dateien Ihres Projekts gespeichert sind, aussagekräftige Namen geben. Um die Ordner zu konfigurieren, gehen Sie zu Run | Manage targets | Additional Settings.

Projektweite Standardeinstellungen für Ausführungsziele

Projektweites Standard-Ausführungsziel

Sie haben jetzt die Möglichkeit, ein projektweites Standard-Ausführungsziel festzulegen. Öffnen Sie dazu das Menü Run | Manage targets. Es öffnet sich ein Fenster, in dem Sie die Option Project default target finden. Wenn Sie ein bestimmtes Ziel für das Projekt auswählen, werden alle neuen Konfigurationen mit diesem Ziel erstellt.

Proxy-Einstellungen im SSH-Konfigurationsfenster

Proxy-Unterstützung für SSH-Verbindungen

Damit Sie einen Proxy-Server angeben können, haben wir unter SSH Configurations den neuen Abschnitt HTTP/SOCKS Proxy hinzugefügt. Sie finden diesen Abschnitt unter Settings | Tools | SSH Configurations. Alternativ gehen Sie bei geöffnetem Projekt zu Run | Manage Targets | ...

Debugger

Neue Darstellung von nil-Schnittstellen im Debugger

Bessere Darstellung von nil-Schnittstellen

Schnittstellen in Go haben zwei Komponenten, einen Typ und einen Wert dieses Typs. Eine Schnittstelle ist dann nil, wenn beide dieser Komponenten nil sind.

Wenn Sie eine Schnittstelle haben, deren Wert ein nil-Pointer auf ein int ist, wird diese Schnittstelle nicht gleich nil sein, da der innere Typ nicht nil ist, sondern *int. Dies kann verwirrend sein.

Damit Sie solche Fälle erkennen können, haben wir die Darstellung von Schnittstellen auf dem Variables-Tab des Debug-Toolfensters geändert. Wenn Sie beispielsweise eine Schnittstelle mit dem inneren Typ *int und dem Wert nil haben, wird sie so angezeigt: {interface{} | *int} *int(nil).

Der Unterschied zwischen 2021.2 und 2021.3 bei der Paketnamen-Darstellung

Kurze Paketnamen im Variables-Tab

GoLand zeigt nicht mehr den vollständigen Paketnamen im Variables-Tab des Debuggers an. Es wird nur noch der letzte Teil des Namens angezeigt.

Darstellung der Funktionsweise von Show Types

Objekttypen aus-/einblenden

Wenn Objekttypen zu viel Platz im Variables-Tab einnehmen, können Sie mit der rechten Maustaste auf die Tableiste klicken und im angezeigten Menü die Option Show Types deaktivieren. Sie können die Anzeige im selben Menü jederzeit wieder aktivieren.

Die Delve-Programmdatei für ARM64 ist jetzt in GoLand verfügbar

Delve für Linux ARM64

Ab dieser Version enthält GoLand Delve für die ARM64-Architektur, und das Debugging auf Linux ARM ist sofort nach der Installation möglich.

Wir haben auch die Fehlermeldungen verbessert, die angezeigt werden, wenn GoLand für eine bestimmte Architektur über keine integrierte Delve-Programmdatei verfügt. Die IDE informiert Sie jetzt explizit über das Problem.

Testen

Codegenerierung mit Testify-Assertions

Vorlage für testify-Assertions

Wir haben eine neue Vorlage für Tabellentests mit testify-Assertions hinzugefügt. Wenn Sie assert bereits in Ihrem Paket verwendet haben, generiert GoLand einen Codeabschnitt mit Assertions, wenn Sie Alt+Einfg drücken und die entsprechende Option wählen.

Neue Quick-Fixes

Korrekte Formatierung einer Zeichenfolge mit einem Quick-Fix

Quick-Fix zur korrekten Formatierung von Fehlerstrings

GoLand now has a quick-fix for an inspection that warns you about incorrect formatting of error strings: “Error strings should not be capitalized or end with punctuation”. Wenn Sie Alt + Enter drücken, schlägt GoLand das Korrigieren der Zeichenfolge vor.

Quick-Fix zum Exportieren eines Typs

Quick-Fix Export type

Wenn Sie eine exportierte Funktion geschrieben haben, die einen nicht exportierten Typ zurückgibt, schlägt GoLand einen Quick-Fix zum Exportieren des Typs vor.

Weitere Änderungen für Go

Ein Popup-Fenster mit Informationen zu context.TODO()

Inspektion für context.TODO()

Wir haben eine Inspektion hinzugefügt, die Verwendungen von context.TODO() markiert. Sie können die Inspektion unter Settings | Editor | Inspections aktivieren. Die Inspektion erinnert daran, context.TODO() zu ändern, wenn zum Zeitpunkt des Schreibens unklar war, welcher Context verwendet werden sollte.

Ein TODO-Kommentar wird hinzugefügt, wenn die Aktion Implement Methods verwendet wird

Kommentar //TODO implement me

Wir haben den Vorlagen, die durch die Aktion Implement Methods erstellt werden, den Kommentar //TODO implement me hinzugefügt. Diese speziellen Kommentare werden im Editor hervorgehoben, indiziert und im TODO-Toolfenster angezeigt, um Sie an nicht implementierte Methoden zu erinnern.

Remote-Entwicklung

Remote-Entwicklungsbereich auf dem GoLand-Begrüßungsbildschirm

GoLand unterstützt jetzt eine Beta-Version unseres Remote-Entwicklungsworkflows.

Sie können Remote-Entwicklungsworkflows direkt auf dem Begrüßungsbildschirm von GoLand einrichten. Alternativ können Sie JetBrains Gateway verwenden, unsere neue Anwendung, die als Zugangspunkt zu allen Ihren Remote-Backends dient.

Informationen zum Einstieg in die Remote-Entwicklung finden Sie auf dieser Seite.

HTTP-Client

Erstellen einer grpc-Anfrage in einer http-Datei

Unterstützung für gRPC-Anfragen

Der HTTP-Client von GoLand unterstützt jetzt gRPC-Anfragen und bietet Completion-Vorschläge für sie an. Wenn Sie Ihre Anfrage mit dem Schlüsselwort GRPC beginnen, wird sie vom HTTP-Client als gRPC-Anfrage erkannt.

Generieren einer gRPC-Anfrage durch Klicken auf ein Randleistensymbol in einer Proto-Datei

Sie können im HTTP-Client automatisch eine gRPC-Anfrage generieren, indem Sie auf ein Randleistensymbol in Ihrer .proto-Datei klicken.

Ausführen eines Server-Streaming-Remote-Prozeduraufrufs

Derzeit kann der HTTP-Client unäre und Server-Streaming-RPCs ausführen. Wie bei normalen HTTP-Anfragen sind der Anfrage-Hauptteil und die Antworten einfache JSON-Dateien.

Wir haben im HTTP-Client verschiedene weitere Verbesserungen vorgenommen, die Sie hier nachlesen können.

VCS-Verbesserungen

Ausführen der Aktion Checkout and Rebase onto Current

Checkout and Rebase onto Current für Remote-Branches

Mit der Aktion Checkout und Rebase onto Current können Sie den ausgewählten Branch auschecken und ein Rebasing auf dem aktuell ausgecheckten Branch durchführen. Jetzt können Sie die Aktion auch für Remote-Branches verwenden.

Ausführen der Aktion Push All up to Here

Neue Aktion Push All up to Here

Manchmal kann es passieren, dass Sie mehrere veröffentlichungsreife Commits haben, während andere noch in Bearbeitung sind. In solchen Fällen möchten Sie vielleicht nur jene Commits pushen, von deren Qualität Sie überzeugt sind.

Jetzt können Sie einen Commit im Log-Tab des Git-Toolfensters auswählen und nur die Commits bis zu diesem ausgewählten Commit pushen. Um diese Funktion zu verwenden, wählen Sie den Commit aus, bei dem Sie den Push-Vorgang anhalten möchten, öffnen Sie mit einem Rechtsklick das Kontextmenü und wählen Sie die Aktion Push All up to Here aus.

Einstellungen für die Versionsverwaltung

VCS-Einstellungen mit neuer Struktur

Die VCS-Einstellungen sind jetzt leichter zu finden und besser strukturiert. Der Knoten Settings | Version Control enthält jetzt alle verfügbaren Einstellungen.

Verbesserungen der UI

Leiste zur Auswertung von Ausdrücken auf dem Variables-Tab

Evaluate expression auf dem Variables-Tab

Die Funktionalität Evaluate expression zur Auswertung von Ausdrücken ist jetzt auf dem Variables-Tab des Debug-Toolfensters zugänglich.

Teilen von Tabs im Run-Toolfenster

Tab-Aufteilung im Run-Toolfenster

Sie können jetzt das Run-Toolfenster aufteilen, indem Sie die Tabs mit der Maus in den markierten Bereich ziehen. Um die Teilung aufzuheben, klicken Sie mit der rechten Maustaste auf den oberen Fensterbereich und wählen Sie im Kontextmenü den Eintrag Unsplit aus.

Verwenden des Bookmarks-Fensters

Neues Bookmarks-Toolfenster

Wir haben ein neues Bookmarks-Toolfenster eingeführt. Ab sofort finden Sie alle Dateien und Ordner, die Sie mit F11 als wichtig markiert haben, in diesem Fenster.

Profiler

Vergleichen von zwei Snapshots und Darstellung der Unterschiede in einem Flammendiagramm

Darstellung von Unterschieden in Snapshots

Sie können den Unterschied zwischen zwei Snapshots in einem Flammendiagramm darstellen. Drücken Sie zweimal die Umschalt-Taste und geben Sie "Open Profiler Snapshots" in das Suchfeld ein. Wählen Sie einen Snapshot von der Liste und öffnen Sie dann auf die gleiche Art und Weise einen weiteren Snapshot.

Klicken Sie dann in einem der Snapshot-Tabs auf Compare With Baseline. Wählen Sie im Menü den Snapshot aus, den Sie als Vergleichsbasis heranziehen möchten. Das Ergebnis des Vergleichs wird in einem separaten Diff-Tab angezeigt.

Terminal

24-Bit-Farbunterstützung im integrierten Terminal unter Windows

ConPTY

GoLand’s terminal supports the new ConPTY API on Windows. We addressed several problems users were having with the old implementation, which was based on winpty, and enabled PTY on Windows by default.

Dank ConPTY werden 24-Bit-Farben im integrierten Terminal unterstützt.

Tippen im GoLand-Terminal mit Type-Ahead-Unterstützung bei der Arbeit an einem Remote-System

Type-Ahead-Funktion

Beim Tippen in einem Remote-Terminal konnten frühere GoLand-Versionen aufgrund der Verbindungslatenz die Zeichen nicht so schnell anzeigen wie bei einer lokalen Verbindung.

Dank der neu eingeführten Type-Ahead-Unterstützung ist dies kein Problem mehr. Unser integriertes Terminal nimmt Textänderungen vorweg und zeigt sie sofort hellgrau an.

Webentwicklung

Herunterladen eines Remote-ES6-Moduls durch Anwendung eines Quick-Fix auf den Importpfad einer ES6-Datei

URL-Unterstützung in import-Anweisungen

Um Remote-ES6-Module herunterzuladen, können Sie in ES6-Dateien einen Quick-Fix auf den Importpfad anwenden. Das Modul wird inklusive aller Abhängigkeiten heruntergeladen. Um die Funktion auszuprobieren, legen Sie die Einfügemarke auf den Importpfad, drücken Sie Alt + Enter und wählen Sie Download module.

Bei der Codeeingabe in eine HTML-Datei wird ein Completion-Vorschlag übernommen

Verbesserte HTML-Completion

Wir haben die Funktionsweise der HTML-Completion verbessert. Wenn Sie im Editor einen Tag-Namen oder eine Abkürzung eingeben oder die Code-Completion explizit aufrufen, zeigt GoLand sofort relevante Vorschläge an.

Bisher wurden die Vorschläge erst angezeigt, nachdem Sie die öffnende spitze Klammer (<) eingegeben haben. Die Completion von Zeichenentitäten wurde ebenfalls verbessert.

Aktualisieren eines npm-Pakets mit dem Quick-Fix „Update ‘Paketname’ to the latest version“

Neue Inspektion zum Aktualisieren von Abhängigkeiten

Sie können Ihre npm-Pakete direkt im Editor auf die neueste Version aktualisieren. Öffnen Sie die Datei package.json, legen Sie die Einfügemarke auf die Paketversion, die Sie aktualisieren möchten, drücken Sie Alt + Enter und wählen Sie dann Update ... to the latest version.

Aufteilen von Elementen in einer JavaScript-Datei auf separate Zeilen und erneutes Zusammenführen in eine Zeile

Elemente auf mehrere Zeilen verteilen

GoLand bietet eine Intention-Aktion für JavaScript-Projekte, mit der Sie durch Kommas getrennte Elemente auf separate Zeilen verteilen und bei Bedarf wieder in eine Zeile zusammenführen können.

Verbesserte Datenbankfunktionen

Aggregatansicht eines Zellenbereichs in einer Datenbank

Aggregate-Ansicht für Zellenbereiche

Wir haben eine Aggregate-Ansicht für Zellenbereiche hinzugefügt. Wählen Sie einfach den gewünschten Zellenbereich aus, klicken Sie mit der rechten Maustaste und wählen Sie Show Aggregate View. Ein Aggregat wird direkt in der Statusleiste angezeigt, und Sie können auswählen, welches das sein soll.

Aufteilen des Editor-Tabs

Unabhängige Editor-Tabs

Wenn Sie den Editor teilen und dieselbe Tabelle zweimal anzeigen, sind die beiden Dateneditoren vollständig unabhängig voneinander. Dadurch können Sie unterschiedliche Filter- und Sortieroptionen für die einzelnen Tabs festlegen.

Die neue Inspektion auf boolesche Ausdrücke in WHERE- und HAVING-Klauseln

Prüfung auf boolesche Ausdrücke

Wir haben eine neue Inspektion auf boolesche Ausdrücke in WHERE- und HAVING-Klauseln eingeführt.

Wenn der Ausdruck kein expliziter boolescher Wert zu sein scheint, hinterlegt die IDE ihn gelb und warnt Sie vor dem Ausführen einer solchen Abfrage.

Die Inspektion funktioniert mit ClickHouse, Couchbase, Db2, H2, Hive/Spark, MySQL/MariaDB, Redshift, SQLite und Vertica. In allen anderen Datenbanken wird dies als Fehler gekennzeichnet.

Navigieren von ausgewählten Zellen zu den zugehörigen Daten

Fremdschlüssel-Navigation anhand mehrerer Werte

Im Dateneditor können Sie nun mehrere Werte auswählen und zu den zugehörigen Daten navigieren.

Ein Spaltentyp in einer CSV-Datei wird erkannt und in einem Popup-Fenster angezeigt

Automatische Spaltentypen in CSV-Dateien

GoLand erkennt Spaltentypen in CSV-Dateien, sodass Sie jetzt Daten nach numerischen Werten sortieren können. Zuvor wurden die Daten als Text behandelt und das Sortieren funktionierte deshalb unter Umständen nicht wie erwartet.

Completion-Vorschläge für einen MongoDB-Filteroperator werden angezeigt

MongoDB: Completion für filter {} und sort {}

Die Code-Completion funktioniert jetzt auch beim Filtern von Daten in MongoDB-Collections.

Darstellung unterschiedlicher Schriftarten für den Editor und die restliche IDE

Wählbare Schriftart im Dateneditor

Sie können die Schriftart für den Dateneditor getrennt vom Rest der IDE festlegen. Um die Schriftart auszuwählen, gehen Sie zu Settings | Tools | Database | Data views | Use custom font.

Updates für die Barrierefreiheit

Wir haben einige Probleme mit der Barrierefreiheit behoben, um die Arbeit mit Screenreadern komfortabler zu gestalten. Wir haben das Toolfenster-Widget-Popup und das Kurzdoku-Popup, die bisher beim Überfahren mit dem Mauszeiger angezeigt wurden, deaktiviert.

Auch unter macOS wurde die Barrierefreiheit verbessert. Wir haben mehrere Probleme mit dem VoiceOver-Fokus gelöst, und Projekte können jetzt mithilfe eines Screenreaders erstellt werden. Um Ablenkungen beim Programmieren zu minimieren, haben wir die Anzahl der Hilfe-Tooltips verringert, auf die mit einem Ton hingewiesen wird.