Das ist neu in GoLand

GoLand 2022.1 unterstützt Generics und Go-Workspaces.

Auch für die Arbeit mit Microservices haben wir mehrere neue Funktionen eingeführt. Sie finden jetzt alle Endpunkte in einem speziellen Toolfenster und können HTTP-Anfragen direkt aus Ihren Go-Dateien absenden.

Wie üblich enthält die neue Version von GoLand Updates für Datenbanken sowie Verbesserungen für die Webentwicklung.

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

Generics

Erstellung einer Addierfunktion mit Generics

Verbesserungen und Fehlerkorrekturen

Unser wichtigstes Anliegen bei diesem Release war es, falsch positive und falsch negative Fehler zu korrigieren. Wir haben bisher mehr als 200 Probleme im Zusammenhang mit Generics behoben.

GoLand fügt nach Eingabe einer öffnenden Klammer automatisch eine schließende Klammer hinzu

Abschluss

Wir haben auch für Typparameter verschiedene neue Features hinzugefügt.

Sobald Sie eine öffnende Klammer eingeben, fügt GoLand eine schließende Klammer für Sie ein.

Typparameter in den Completion-Vorschlägen

GoLand zeigt Typparameter in den Completion-Vorschlägen an und fügt die Klammern ein, wenn Sie einen Vorschlag akzeptieren.

Implementierung fehlender Methoden mit einem Quick-Fix

Quick-Fix zur Implementierung fehlender Methoden

Wenn ein Typargument nicht alle Methoden der zugehörigen Schnittstelle implementiert, zeigt GoLand einen Fehler an. Sie können fehlende Methoden mithilfe eines Quick-Fixes direkt aus der Fehlermeldung heraus implementieren.

Alternativ können Sie auch die rote Glühbirne anklicken oder Alt+Enter drücken und dann Implement missing methods auswählen.

Go-Workspaces

Öffnen einer go.work-Datei

Sie können jedes beliebige Verzeichnis mit einer go.work-Datei öffnen und die Entwicklung wie gewohnt fortsetzen. Später werden wir auch Syntaxhervorhebung und Code-Completion in go.work implementieren.

Microservices

Verwendung der Aktion Go to Declaration in einer Go-Datei

Verwendungssuche und Navigation

Hinweis: Die neuen Features für die Entwicklung von Microservices funktionieren vorerst nur mit der Standardbibliothek.

In Ihren Go-Dateien wird jetzt neben jedem Endpunkt ein Globussymbol angezeigt. Wenn Sie auf das Symbol klicken, schlägt GoLand mehrere Optionen vor.

Mit der ersten Option können Sie alle Verwendungen des Endpunkts finden und zu ihnen navigieren. Sie können sich die Verwendungen auch anzeigen lassen, indem Sie mit gedrückter Strg-Taste auf einen Endpunkt klicken.

Generieren einer Anfrage aus einer Go-Datei

Anfragen generieren

Die zweite Option, die Ihnen beim Anklicken des Globussymbols angezeigt wird, ist Generate request in HTTP client. Nachdem Sie die entsprechende Option ausgewählt haben, öffnet die IDE den integrierten HTTP-Client. Mit dieser Aktion können Sie eine Anfrage für jede gültige URL generieren.

Unser HTTP-Client bietet jetzt Code-Completion für Endpunkte. Die Completion umfasst Endpunkte in Go-Dateien (vorerst wird nur die Standardbibliothek unterstützt), Swagger-Spezifikationen, .proto-Dateien und JavaScript-Dateien.

Öffnen des neuen Endpoints-Toolfensters

Endpoints-Toolfenster

Die dritte Option ist Show all endpoints of module. Wenn Sie diese Option wählen, öffnet GoLand das neue Endpoints-Toolfenster, in dem Sie alle Endpunkte Ihres Projekts sehen können.

Von hier aus können Sie mit Jump to source zum Quellcode springen oder auf einen beliebigen Endpunkt klicken und Anfragen direkt im HTTP-Client-Tab ausführen.

GoLand zeigt Completion-Vorschläge für HTTP-Methoden an

Completion für Methoden und Header

Die Code-Completion berücksichtigt jetzt auch HTTP-Methoden und Header in Go-Dateien.

Öffnen eines Links in einem Browser

Links und Endpunkte unterstrichen

In Go-Dateien sind alle Links und Endpunkte jetzt unterstrichen, damit sie im Code leichter zu erkennen sind. Die Links sind anklickbar und können in einem Browser geöffnet werden.

GoLand zeigt Completion-Vorschläge für eine gRPC-Anfrage an

Unterstützung für gRPC-Reflection

If your project doesn't have a .proto file but the server supports gRPC reflection, you will be able to run requests and get completion for service and method names right from a running server.

Testen

Fehlermeldung bei Verwendung des falschen Formatierungsverbs

Stringformatierung für testify/assert

Bei Verwendung der falschen Formatierungsverben in testify/assert-Funktionen zeigt GoLand jetzt Fehlermeldungen an.

Debugger

Einblenden der Tab-Beschriftungen im Debug-Fenster

Ausgeblendete Tab-Beschriftungen

Um den nutzbaren Bereich im Debug-Toolfenster zu maximieren, werden die Tab-Beschriftungen standardmäßig ausgeblendet. Um sie wieder einzublenden oder ihre Position zu ändern, verwenden Sie die Option Show Tab Labels unter Layout Settings.

Kubernetes

Modifizieren von Ressourcen, die aus einem Cluster geladen wurden

Ressourcen in Clustern bearbeiten

Hinweis: Das Kubernetes-Plugin kann unter Settings | Plugins installiert werden.

Ressourcen, die aus einem Cluster geladen wurden, können jetzt im Editor-Tab geändert werden.

Einstellungen zum Ändern des kubectl-Pfads

Benutzerdefinierter kubectl-Pfad

Sie können jetzt den Pfad zu kubectl manuell konfigurieren, wenn das Programm sich nicht am Standard-Speicherort befindet. Um den benutzerdefinierten Pfad anzugeben, gehen Sie zu Settings | Build, Execution, Deployment | Kubernetes | Path to kubectl executable.

Verwendung der Portweiterleitungsfunktion in der Symbolleiste

Portweiterleitung

Wir haben eine Portweiterleitungsfunktion für Pods hinzugefügt. Um Ports weiterzuleiten, können Sie entweder das Symbol in der Symbolleiste verwenden oder mit der rechten Maustaste auf einen Pod klicken und im Kontextmenü Forward Ports… auswählen.

Verwendung der Aktion Describe Resource

Aktion Describe Resource in Services-Ansicht

Es gibt eine neue Aktion Describe Resource für alle Ressourcen in der Services-Ansicht. Sie können sie über das Kontextmenü aufrufen oder die Schaltfläche in der Symbolleiste anklicken.

Anzeige von Cluster-Events in der Services-Ansicht.

Knoten für Cluster-Events

Cluster-Ereignisse werden jetzt in einem separaten Knoten in der Services-Ansicht angezeigt, um Ihnen einen Überblick über die jüngsten Ereignisse im System zu bieten.

Code-Completion in Helm-Template-Dateien.

Unterstützung für Werf

Wir haben eine begrenzte Editorunterstützung für werf.yaml und zugehörige Helm-Templates-Dateien eingeführt. Die Erstunterstützung umfasst Code-Completion, Inspektionen, Quick-Fix-Vorschläge, Refactoring und Umbenennen von .Values.werf.image.* sowie Validierung für einige Felder wie boolean und int.

Docker

Services-Toolfenster

Überarbeitete Services-Ansicht

Wir haben die Docker-UI im Services-Toolfenster gründlich überarbeitet. Die Verbesserungen umfassen Container, Images, Netzwerke und Volumes.

Hinzufügen eines Docker-Compose-Targets

Unterstützung für Docker-Compose-Targets

Wir haben Unterstützung für Docker-Compose-Targets hinzugefügt. Um ein Target hinzuzufügen, gehen Sie zu Run | Manage targets und klicken Sie auf Add new target.

Docker V2 in den Einstellungen der Docker Registry.

Unterstützung für Docker Registry V2

GoLand bietet jetzt Unterstützung für die Docker Registry HTTP API V2.

Markdown

Symbol zum Kopieren von Code im Markdown-Editor

Copy Code-Symbol

Bei Markdown-Blöcken steht Ihnen jetzt das Symbol Copy code zur Verfügung, um Inhalte unkompliziert in die Zwischenablage zu kopieren.

Ausführen eines Befehls aus einer Markdown-Datei

Ausführen von Befehlen

Wenn eine Markdown-Datei Anweisungen mit Terminalbefehlen enthält, können Sie diese Befehle durch Anklicken des Ausführen-Symbols in der Randleiste direkt aus der Markdown-Datei heraus ausführen.

Markdown-Datei mit neuer schwebender Symbolleiste

Verbesserte schwebende Symbolleiste

Um das Formatieren von Markdown-Dateien zu erleichtern, haben wir die schwebende Symbolleiste überarbeitet, die angezeigt wird, wenn Sie einen Textabschnitt auswählen. Neben dem neuen Design ermöglicht die Symbolleiste jetzt auch die Erstellung von Listen und bietet ein Dropdown-Menü zur Auswahl von Überschriftenstilen.

Benutzererfahrung

Notifications-Toolfenster

Neues Notifications-Toolfenster

Wir haben das Event Log durch das neue Toolfenster Notifications ersetzt, um wichtige und hilfreiche IDE-Benachrichtigungen hervorzuheben.

Dialog für strukturelles Suchen und Ersetzen

Überarbeiteter Dialog für strukturelles Suchen und Ersetzen

Der Dialog Structural Search und Replace wurde überarbeitet und enthält jetzt eine Liste aller Vorlagen, um die Navigation zwischen ihnen zu vereinfachen.

Structural Search und Replace unterstützt XML, HTML, SQL und JavaScript.

Gleichmäßige Aufteilung von Editor-Tabs

Gleichmäßige Tab-Breite

Sie haben jetzt die Möglichkeit, den Arbeitsbereich Ihres Editors gleichmäßig auf verschiedene Tabs aufzuteilen. Die dazugehörige Einstellung lautet Equalize proportions in nested splits unter Settings | Advanced Settings | Editor Tabs.

Exportieren eines UML-Diagramms

UML-Export in andere Formate

UML-Diagramme können jetzt in den Formaten yEd (.graphml), JGraph (.drawio), Graphviz bzw. Graphviz mit Positionen (.dot), Mermaid (.md), Plantuml sowie IDEA (.uml) exportiert werden, um die Kompatibilität mit Drittanbieter-Tools zu gewährleisten.

Versionsverwaltung

Informationen zur GPG-Signatur in den Commit-Details

Aktualisierter Commit details-Bereich im Git-Toolfenster

Der Fensterbereich Commit details bietet jetzt detaillierte Informationen zur GPG-Signatur.

GoLand zeigt die Unterschiede zeilenweise an, wenn „Annotate with Git Blame“ aktiviert ist

Annotate with Git Blame verbessert

Wir haben die Funktionalität von Annotate with Git Blame verbessert, um die Untersuchung von Änderungen zu erleichtern. Die IDE färbt die Unterschiede zeilenweise direkt im Editor ein, wenn sich die Maus über einer Annotation befindet, und beim Anklicken wird das Toolfenster Git Log geöffnet.

Datenbanken

Kopieren mehrerer Tabellen in ein anderes Schema

Mehrere Objekte kopieren

Sie können jetzt mehrere Tabellen auswählen und in ein anderes Schema kopieren.

Wählen Sie die Tabellen aus und drücken Sie F5, um den Exportdialog zu öffnen. Wie beim Exportieren einer einzelnen Tabelle können Sie die Spalten zuordnen und die DDL der neuen Tabelle ansehen und gegebenenfalls ändern.

Bearbeiten von Feldern in MongoDB-Collections

MongoDB: Bearbeiten von Feldern in Ergebnissen

Jetzt können Sie Ergebnisse in MongoDB-Collections genauso bearbeiten wie in relationalen Datenbanken.

Hinweis: Weitere Informationen zu allen Datenbank-Updates in v2022.1 finden Sie auf der Seite Das ist neu in DataGrip.

Webentwicklung

GoLand erkennt globale Komponenten in Vue-Dateien.

Verbesserungen für Vue

Wir haben mehrere Verbesserungen für Vue 3 umgesetzt. Wenn Sie Komponenten als global definieren, erkennt die IDE sie jetzt in Ihren .vue-Dateien.

Auch die createApp-Syntax sollte jetzt unterstützt werden. Die Zuordnung zwischen den mit createApp erstellten Apps und den zugehörigen Elementen wird jetzt korrekt vorgenommen. Diese Version bietet zudem Unterstützung für Nuxt 3, die neue Version dieses verbreiteten Vue-Frameworks.

GoLand löst Pfade in der href-Eigenschaft einer Link-Komponente auf.

Next.js-Updates

Wir haben die Unterstützung für Seiten korrigiert. GoLand löst Pfade auf, die in der href-Eigenschaft Ihrer Link-Komponenten hinterlegt sind. Die Code-Completion, die Navigation im Code und Refactoring-Optionen wie Rename funktionieren ebenfalls.

Webpack-Konfiguration mit ES-Modulen

ESM-Unterstützung für Webpack-Konfiguration

Ab sofort funktioniert die Webpack-Programmierunterstützung mit den ES-Modulen in Ihren webpack.config.js-Dateien.

GoLand erkennt Yarn und npm automatisch, wenn sie mit Volta installiert wurden.

Volta-Integration

GoLand bietet jetzt eine Integration mit dem JavaScript-Tool-Manager Volta. Dadurch werden Yarn und npm automatisch erkannt, wenn sie mit Volta installiert wurden.

Hinweis: Mehr Details zu allen Verbesserungen in v2022.1 im Zusammenhang mit der Webentwicklung erfahren Sie auf der Seite Das ist neu in WebStorm.

Updates für die Barrierefreiheit

Der Screenreader liest jetzt die Namen und Beschreibungen der Branch-Baumstrukturen im Log-Tab vor und schlägt die Verwendung von Strg+L zum Navigieren durch andere Log-Filter vor.

Darüber hinaus wurden eine Reihe von Updates in der VoiceOver-Unterstützung umgesetzt, um die Barrierefreiheit unter macOS zu verbessern.