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.
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.
gofmt
beim Speichern Die Option Reformat code, die beim Speichern gofmt
und die GoLand-eigene Formatierungsfunktion ausführt, ist jetzt standardmäßig aktiviert.
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.
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.
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.
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
.
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.
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.
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.
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 | ...
nil
-SchnittstellenSchnittstellen 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)
.
GoLand zeigt nicht mehr den vollständigen Paketnamen im Variables-Tab des Debuggers an. Es wird nur noch der letzte Teil des Namens angezeigt.
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.
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.
testify
-AssertionsWir 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.
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.
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.
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.
//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.
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.
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.
Sie können im HTTP-Client automatisch eine gRPC-Anfrage generieren, indem Sie auf ein Randleistensymbol in Ihrer .proto
-Datei klicken.
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.
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.
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.
Die VCS-Einstellungen sind jetzt leichter zu finden und besser strukturiert. Der Knoten Settings | Version Control enthält jetzt alle verfügbaren Einstellungen.
Die Funktionalität Evaluate expression zur Auswertung von Ausdrücken ist jetzt auf dem Variables-Tab des Debug-Toolfensters zugänglich.
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.
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.
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.
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.
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.
import
-AnweisungenUm 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.
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.
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.
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.
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.
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.
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.
Im Dateneditor können Sie nun mehrere Werte auswählen und zu den zugehörigen Daten navigieren.
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.
filter {}
und sort {}
Die Code-Completion funktioniert jetzt auch beim Filtern von Daten in MongoDB-Collections.
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.
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.