Das ist neu in GoLand

GoLand 2022.2 bietet neue Funktionen für Generics und go.work. Außerdem haben wir Unterstützung für Fuzz-Tests implementiert.

SQL-Codeabschnitte werden jetzt automatisch erkannt, und die IDE stellt umfassende Programmierunterstützung für sie bereit.

GoLand unterstützt jetzt WebSocket-Verbindungen und kann GraphQL-Abfragen über HTTP und WebSocket versenden.

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

Generics

Eine Intention-Aktion ersetzt eine leere Schnittstelle durch any

Intention-Aktion zur Umwandlung leerer Schnittstellen in any

GoLand verfügt jetzt über eine Inspektion, die auf die Verwendung einer leeren Schnittstelle als Typ oder Typbeschränkung hinweist.

Eine dazugehörige Intention-Aktion ersetzt interface{} durch any. Über das Popup der Intention-Aktion können Sie alle leeren Schnittstellen in einer Datei ersetzen.

Ein Quick-Fix löscht Typparameter mit leeren Parameterlisten

Quick-Fix zum Löschen von Typparametern mit leeren Parameterlisten

Typparameter mit leeren Parameterlisten werden jetzt als Fehler gemeldet. Mit einem neuen Quick-Fix können sie gelöscht werden.

Inspektion für ungenutzte Typparameter

Inspektion für ungenutzte Typparameter

Eine neue Inspektion weist auf nicht verwendete Typparameter hin. Diese sind ausgegraut und es wird eine Warnung angezeigt, wenn Sie den Mauszeiger auf sie bewegen.

Inspektion für Unions, die Schnittstellen mit Methoden enthalten

Inspektion für Unions, die Schnittstellen mit Methoden enthalten

Die IDE meldet jetzt einen Fehler, wenn Sie versuchen, Schnittstellen mit Methoden in Unions zu verwenden.

Inspektion für die Verwendung von Typparametern als Einschränkungen

Inspektion für die Verwendung von Typparametern als Einschränkungen

Wenn Sie versuchen, einen Typparameter als Einschränkung zu verwenden, zeigt GoLand einen Fehler an.

GoLand fügt den Bezeichner eines Typparameters ein, während eine Methode erstellt wird.

Typparameter-Completion bei der Eingabe eines Methoden-Receivers

GoLand fügt automatisch den Bezeichner eines Typparameters ein, wenn Sie beim Erstellen einer Methode einen Receiver hinzufügen.

Neue Gruppe in der Verwendungssuche

Neue Typparameter-Gruppe in Find Usages

Wir haben eine neue Find Usages-Gruppe für Generics eingeführt: Typparameter-Deklaration.

Fuzz-Tests

Ausführen von Fuzz-Tests in GoLand

Ausführen von Fuzz-Tests

Jetzt haben Sie die Möglichkeit, Fuzz-Tests von GoLand aus durchzuführen. Wenn Sie das grüne Dreieckssymbol in der Randleiste neben Ihrem Fuzz-Test anklicken, werden verschiedene Optionen für die Testausführung angezeigt. Wenn der Test fehlschlägt, wird der auslösende Seed-Korpus-Eintrag in eine Datei im testdata-Ordner Ihres Paketverzeichnisses geschrieben.

In der Konsole wird der Pfad zu dieser Datei als anklickbarer Link angezeigt. Wenn Sie auf den Link klicken, wird die Datei in der IDE geöffnet, und am oberen Rand der Datei wird ein grünes Dreieckssymbol angezeigt. Wenn Sie dieses Symbol anklicken, wird go test mit dem fehlgeschlagenen Seed-Korpus-Eintrag ausgeführt.

From GoLand you can also run fuzz tests just like normal unit tests.

Quick-Fix für den Wechsel auf eine Go-SDK-Version, die Fuzzing unterstützt

Quick-Fix für den Wechsel des Go-SDK

GoLand zeigt jetzt in der Randleiste keine Ausführen-Schaltfläche mehr an, wenn Sie ein Go-SDK konfiguriert haben, das Fuzzing nicht unterstützt. Mit einem neuen Quick-Fix können Sie zu einem anderen Go-SDK wechseln, wenn das aktuelle SDK kein Fuzzing unterstützt.

Go-Workspaces

Ein Quick-Fix, der mehrere use-Direktiven zusammenfasst

Quick-Fix zur Gruppierung mehrerer use-Direktiven

Wir haben einen Quick-Fix eingeführt, der mehrere use-Direktiven in einer go.work-Datei zu einer Direktive zusammenfasst.

Go 1.19

Hinzufügen eines Formatierungsstring-Arguments für Appendf

Unterstützung für fmt.Appendf

Wir haben Unterstützung für fmt.Appendf hinzugefügt, und GoLand erkennt nun Formatierungsverben in Zeichenfolgen. Dadurch stehen der Funktion Appendf alle Funktionen zur Verfügung, die für Formatierungsfunktionen implementiert wurden, z. B. die Kontextaktion Add a format string argument.

Unterstützung für die Build-Einschränkung unix

GoLand unterstützt jetzt das neue Build-Tag unix, das jedes Unix- oder Unix-ähnliche System erkennt.

loong64 zur Arch-Liste hinzugefügt

Go 1.19 führt eine neue Architektur ein – loong64. Wir haben sie in unsere Arch-Liste unter Settings | Go | Build Tags & Vendoring aufgenommen.

Schnelldokumentation

Wir haben die Schnelldokumentation verbessert:

  • Für jedes der 25 Go-Schlüsselwörter zeigt GoLand jetzt einen aussagekräftigen Tooltip an, der die Semantik des jeweiligen Schlüsselworts erläutert.
  • Wir zeigen jetzt Informationen zur Richtung von Channels an. Diese Daten werden in Tooltips an drei Stellen angezeigt: wenn sich die Maus über dem Schlüsselwort chan befindet, bei Channel-Sende- und Empfangsvorgängen und bei allen Referenzen auf Channel-Typen.
  • Die Schnelldokumentation für iota enthält jetzt zusätzliche Informationen zur Verwendung. Wenn eine Konstante Teil einer iota-Gruppe ist, wird der Wert jetzt im Completion-Feld angezeigt, auch wenn die Konstante implizit definiert ist.
  • Außerdem wird in einem neuen Tooltip erklärt, wie ein Typ-Switch funktioniert.
 
  • Wenn Sie die Schnelldokumentation für einen Typparameter aufrufen, erklärt GoLand in einem Tooltip die Funktionsweise von Generics und zeigt einen Link zu einem Tutorial des Go-Teams an.
  • Der Tooltip für Typ-Assertions enthält jetzt zusätzliche Informationen und zeigt einige Beispiele.
  • Beim Initialisieren von Maps, Arrays, Slices und Structs zeigt GoLand zusätzliche Informationen an, wenn Sie die Maus zwischen die geschweiften Klammern bewegen.
  • Wenn Sie den Mauszeiger auf einen leeren Bezeichner bewegen, informiert Sie GoLand in einem Tooltip darüber, was der leere Bezeichner ist und wie er funktioniert.

Weitere Go-bezogene Verbesserungen

Performance-Optimierung

GoLand scannt das Unterverzeichnis cache in ~/go/pkg/mod nicht mehr, da dieses keine Informationen enthält, die für die korrekte Funktion der IDE erforderlich sind. Dieser Ordner kann ziemlich groß werden, und wir gehen davon aus, dass das Ausschließen dieses Ordners vom Scan die Leistung verbessert.

Unterstützung für go:linkname

Wir haben Unterstützung für die Compiler-Direktive go:linkname hinzugefügt:

//go:linkname localname [importpath.name]

Damit wird der Compiler angewiesen, importpath.name als Objektdatei-Symbolnamen für die im Quellcode als localname deklarierte Variable oder Funktion zu verwenden.

Inspektion für die unsachgemäße Verwendung von iota

Inspektion für die unsachgemäße Verwendung von iota

Eine neue GoLand-Inspektion warnt Sie, wenn iota nicht sachgemäß verwendet wird.

Warnung bei der Wertzuweisung an eine Konstante namens iota

Außerdem wurde die Inspektion Reserved word used as name für iota und andere eingebaute Konstanten aktiviert. Die Inspektion wird ausgelöst, wenn Sie versuchen, einer Konstante mit dem Namen iota, true oder false einen Wert zuzuweisen.

Warnung vor Typen, die Methoden sowohl für Wert- als auch für Pointer-Receiver haben

Inspektion für Methoden mit Wert- und Pointer-Receivern

Die Go-Dokumentation empfiehlt, dass alle Methoden eines bestimmten Typs entweder Wert- oder Pointer-Receiver haben sollten.

Eine neue Inspektion in GoLand warnt Sie daher, wenn die Methoden in einem Typ sowohl Wert- als auch Pointer-Receiver haben.

Automatische SQL-Erkennung

GoLand erkennt SQL-Anweisungen.

SQL-Anweisungen werden jetzt automatisch erkannt und die Sprache wird in jedes Stringliteral injiziert, das einem bestimmten Muster entspricht. Wenn Sie eine Sprache in ein Stringliteral injizieren, erhalten Sie umfassende Programmierunterstützung für die Bearbeitung des Literals.

Einstellungen für die Bearbeitung der Muster

Sie finden die Muster unter Settings | Editor | Language Injections. Dort können Sie die Muster bearbeiten oder eigene Muster hinzufügen.

Run Anything

Aktion „Run Anything“

GoLand unterstützt jetzt die Aktion Run Anything, mit der Sie mühelos Run/Debug-Konfigurationen, Anwendungen, Skripte, Befehle und Aufgaben starten sowie kürzlich bearbeitete Projekte öffnen können. Drücken Sie zum Aufrufen einfach die Strg-Taste zweimal hintereinander, und schon können Sie mit der Eingabe in die Suchleiste beginnen.

HTTP-Client

Versand von Nachrichten über WebSocket-Verbindungen

Unterstützung für WebSocket-Endpunkte

GoLand unterstützt jetzt WebSocket-Verbindungen. Sie können Anfragen erstellen und Nachrichten senden bzw. empfangen.

Senden einer GraphQL-Abfrage

Unterstützung für GraphQL-Endpunkte

GoLand kann jetzt GraphQL-Abfragen über die Protokolle HTTP und WebSocket versenden. Für http:// und https:// werden einfache HTTP-Anfragen verwendet, während ws:// und wss:// an das WebSocket-Ausführungsmodul delegiert werden.

Auswählen einer Ausführungsumgebung im HTTP-Client

Auswählen einer Ausführungsumgebung

Die Ausführungsumgebung kann jetzt über das Wiedergabesymbol in der Randleiste ausgewählt werden. Um diese Funktionalität zu aktivieren, wählen Sie im Kombinationsfeld Run with die Option Select Environment Before Run aus.

Remote-Entwicklung

Remote-Entwicklungsbereich auf dem GoLand-Begrüßungsbildschirm

Wir haben den Bereich Remote Development auf dem GoLand-Begrüßungsbildschirm überarbeitet. Hier können Sie Ihre bevorzugte Methode für die Backend-Orchestrierung auswählen. Außerdem ist die Portweiterleitung jetzt auch für Prozesse verfügbar, die im Terminal ausgeführt werden.

Weitere Informationen zu den neuen Funktionen im Bereich Remote-Entwicklung finden Sie in diesem Blogbeitrag.

Space

Die Space-Integration ist jetzt in GoLand vorinstalliert

JetBrains Space bietet eine komplette Plattform für die Softwareentwicklung. Der Funktionsumfang umfasst Projektmanagement, Issue-Tracking, Git-Hosting, Code-Reviews, Continuous Integration, Paket-Repositories und Remote-Backend-Orchestrierung für JetBrains-IDEs mittels Entwicklungsumgebungen.

Die Space-Integration ist jetzt in GoLand vorinstalliert. With this first-class integration, you can browse Space projects and clone repositories, then start working on them directly. Wenn Sie mit Ihrer Arbeit fertig sind, können Sie einen Merge-Request einreichen und ein Code-Review in der IDE durchführen.

Space-Entwicklungsumgebungen für die Remote-Entwicklung können jetzt direkt in GoLand verwaltet werden

Space-Entwicklungsumgebungen für die Remote-Entwicklung können jetzt direkt in GoLand verwaltet werden.

Wenn Ihre IDE mit Ihrer Space-Organisation verbunden ist, werden alle Ihre Entwicklungsumgebungen synchronisiert. Sie können eine neue Entwicklungsumgebung für einen Branch in einem Repository erstellen und sofort mit dem Programmieren beginnen. Entwicklungsumgebungen lassen sich in den Ruhezustand versetzen, um den Ressourcenverbrauch zu reduzieren, und nach Beendigung der Arbeit können sie einfach gelöscht werden.

Bedienoberfläche

Zusammenführen von Projektfenstern

Aktion zum Zusammenführen aller Projektfenster unter macOS

Auf macOS haben Sie jetzt die Möglichkeit, alle geöffneten Projektfenster als Tabs in einem einzigen Fenster zusammenzuführen. Wählen Sie dazu den Menüpunkt Window | Merge All Project Windows.

Anpassung der Schriftgröße über Tastenkürzel

Tastenkürzel zur Anpassung der Schriftgröße

Wir haben kürzlich Tastenkürzel eingeführt, mit denen die Schriftgröße im gesamten Editor geändert werden kann. Um die Schrift zu vergrößern, drücken Sie Alt+Umschalt+. Für eine kleinere Schrift drücken Sie Alt+Umschalt+,.

Wenn Sie die Editor-Darstellung vergrößern oder verkleinern, wird jetzt die aktuelle Schriftgröße angezeigt, und Sie haben die Möglichkeit, die Standard-Schriftgröße wiederherzustellen.

Verwendung des Beschreibungsfeldes beim Anlegen eines Lesezeichens

Neues Beschreibungsfeld für mnemonische Lesezeichen

Der Dialog Add Mnemonic Bookmark verfügt jetzt über ein Feld Description, in dem Sie eine optionale Beschreibung für Ihr Lesezeichen eingeben können. Um ein mnemonisches Lesezeichen hinzuzufügen, öffnen Sie das Kontextmenü mit einem Rechtsklick auf die Randleiste neben der zu markierenden Zeile und wählen Sie die entsprechende Option aus. Sie können auch das Tastenkürzel Strg+F11 verwenden.

Der Begrüßungsbildschirm

Fortschrittsanzeige für den Repository-Klonvorgang

Der Fortschrittsbalken beim Klonen eines Repositorys wird jetzt direkt in der Projektliste angezeigt.

Popup-Fenster mit Zugriff auf die Code-Completion-Einstellungen

Schnellerer Zugriff auf Code-Completion-Einstellungen

Über das Drei-Punkte-Menü des Code-Completion-Popups können Sie jetzt auf die Code-Completion-Einstellungen zugreifen.

Editor

Code-Completion-Einstellungen

Automatisches Einfügen von Klammern steuern

Mit einer neuen Option können Sie festlegen, ob die IDE bei der Code-Completion automatisch Klammern einfügen soll.

Einstellungsfenster mit dem neuen Dropdown-Menü für die Hervorhebung im Editor in der unteren rechten Ecke

Hervorhebungsstil für Inspektionen ändern

Über das neue Dropdown-Menü Highlighting in editor unter Settings | Editor | Inspections können Sie den Hervorhebungsstil für Inspektionen ändern.

Dies bietet Ihnen eine weitere Möglichkeit zur Individualisierung der Inspektionen. Zum Beispiel können Sie die Severity einer bestimmten Inspektion auf Warning einstellen, aber die Hervorhebung auf Error ändern.

Docker

Die Aktion Copy Docker Image

Docker-Image kopieren

Jetzt haben Sie die Möglichkeit, Images von einem Docker-Daemon zu einem anderen zu kopieren. Verwenden Sie dazu die neue Aktion Copy Docker Image, die das Image in einer Datei speichert und diese dann zur gewählten Verbindung hochlädt.

Automatische Docker-Verbindung beim Neustart der IDE

GoLand verbindet sich jetzt automatisch mit Docker, nachdem Sie die IDE neu gestartet haben. Diese neue Einstellung ist standardmäßig aktiviert. Sie finden sie unter Settings | Advanced Settings | Docker.

Integration mit Colima und Rancher

Durch die Integration mit Colima und Rancher bietet GoLand jetzt noch mehr Optionen für den Verbindungsaufbau zu einem Docker-Daemon.

Datenbanken

Mehrere CSV-Dateien importieren

Option zum Importieren mehrerer CSV-Dateien

Sie können jetzt mehrere CSV-Dateien auswählen und alle in einem Zug importieren.

Die Auflösungsmodi Script und Playground

Auflösungsmodi für Datenbanken

Bei der Arbeit mit Datenbanken haben Sie jetzt die Wahl zwischen zwei Modi zur Dateiauflösung: Playground und Script.

Playground eignet sich für separate, voneinander unabhängige Abfragen, während Script für Abfragen mit einer sequenziellen Logik gedacht ist.

Weitere Verbesserungen

Vertrauenswürdige SSL-Zertifikate importieren

GoLand unterstützt Sie jetzt beim Importieren von vertrauenswürdigen SSL-Zertifikaten aus den Vertrauensspeichern des Systems. Die IDE verwendet automatisch die benutzerdefinierten Zertifikate, die für Ihre Enterprise-Umgebung spezifisch sind. Sie müssen keine zusätzlichen Aktionen vornehmen. Alles sollte direkt nach der Installation funktionieren.

Anklickbare URLs in JSON- und YAML-Dateien

In JSON- und YAML-Dateien werden jetzt Werte, die mit http:// oder https:// beginnen, automatisch als Webreferenzen angezeigt. Sie können diese Links in einem Webbrowser öffnen und Anfragen im HTTP-Client erstellen.