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.
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.
Typparameter mit leeren Parameterlisten werden jetzt als Fehler gemeldet. Mit einem neuen Quick-Fix können sie gelöscht werden.
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.
Die IDE meldet jetzt einen Fehler, wenn Sie versuchen, Schnittstellen mit Methoden in Unions zu verwenden.
Wenn Sie versuchen, einen Typparameter als Einschränkung zu verwenden, zeigt GoLand einen Fehler an.
GoLand fügt automatisch den Bezeichner eines Typparameters ein, wenn Sie beim Erstellen einer Methode einen Receiver hinzufügen.
Wir haben eine neue Find Usages-Gruppe für Generics eingeführt: Typparameter-Deklaration.
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.
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.
use
-DirektivenWir haben einen Quick-Fix eingeführt, der mehrere use
-Direktiven in einer go.work
-Datei zu einer Direktive zusammenfasst.
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.
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.
Wir haben die Schnelldokumentation verbessert:
chan
befindet, bei Channel-Sende- und Empfangsvorgängen und bei allen Referenzen auf Channel-Typen. 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. 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.
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.
iota
Eine neue GoLand-Inspektion warnt Sie, wenn iota
nicht sachgemäß verwendet wird.
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.
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.
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.
Sie finden die Muster unter Settings | Editor | Language Injections. Dort können Sie die Muster bearbeiten oder eigene Muster hinzufügen.
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.
GoLand unterstützt jetzt WebSocket-Verbindungen. Sie können Anfragen erstellen und Nachrichten senden bzw. empfangen.
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.
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.
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.
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.
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.
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.
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.
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 Fortschrittsbalken beim Klonen eines Repositorys wird jetzt direkt in der Projektliste angezeigt.
Über das Drei-Punkte-Menü des Code-Completion-Popups können Sie jetzt auf die Code-Completion-Einstellungen zugreifen.
Mit einer neuen Option können Sie festlegen, ob die IDE bei der Code-Completion automatisch Klammern einfügen soll.
Ü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.
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.
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.
Durch die Integration mit Colima und Rancher bietet GoLand jetzt noch mehr Optionen für den Verbindungsaufbau zu einem Docker-Daemon.
Sie können jetzt mehrere CSV-Dateien auswählen und alle in einem Zug importieren.
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.
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.
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.