GoLand 2023.3 enthält mehrere bedeutende Neuerungen:
returns
und panics
. slice
-Ausdrücke, Code-Insight für benutzerdefinierte printf
-ähnliche Funktionen und Verbesserungen im Debugger. Darüber hinaus bietet GoLand 2023.3 weitere Updates und Verbesserungen in den Bereichen Docker- und Kubernetes-Integration, Versionsverwaltung und Webentwicklung. Sehen Sie sich gleich die Details an!
Zu den neuesten Updates zählen eine verbesserte Codegenerierung direkt im Editor, ein kontextspezifischer KI-Chat, der Antworten auf projektbezogene Fragen gibt, ohne dass Sie Code kopieren müssen, sowie projektbezogene KI-Aktionen, die durch Berücksichtigung des erweiterten Kontexts zielgenauere Ergebnisse liefern. Ein neuer Diff-Betrachter macht es einfacher, Änderungen zu erkennen, die durch KI-Aktionen an Ihrem Code vorgenommen wurden.
Sie können AI Assistant in GoLand als Zusatzfunktion mit einem Abonnement für den JetBrains AI Service verwenden.
Gute Namen zu finden ist nicht einfach! Deshalb unterstützt Sie AI Assistant in GoLand mit Namensvorschlägen für Funktionen, die zur Verständlichkeit des Codes beitragen.
Das Dokumentieren des eigenen Codes ist eine langweilige, aber notwendige Routine. Mithilfe der Aktion Write documentation können Sie Ihren Code mit wenigen Klicks solide dokumentieren.
AI Assistant unterstützt Sie dabei, einen Test für eine bestimmte Funktion oder Methode zu erstellen. Nachdem die erste Testklasse erstellt wurde, schlägt der Assistent vor, weitere Testfälle hinzuzufügen.
Mit diesem Quick-Fix können Sie einen nicht existierenden Funktionsnamen eingeben und dann eine Implementierung in einem Paket Ihrer Wahl generieren.
Das Release 2023.3 enthält den ersten Teil des vielfach erwarteten Refactorings Extract Parameter. Mit dem Quick-Fix Create Parameter können Sie eine unaufgelöste Referenz auswählen und einen passenden Parameter erstellen. Sie können auch den Typ ändern, wenn dieser nicht präzise genug ist, einen Standardwert vorgeben und Aufrufe mit dem Standardwert anpassen.
GoLand unterstützt jetzt Dev-Container, sodass Sie Container als vollwertige Entwicklungsumgebung zum Bearbeiten, Erstellen und Ausführen Ihrer Projekte verwenden können. Dev-Container können über eine SSH-Verbindung oder lokal mit Docker ausgeführt werden.
GoLand 2023.3 unterstützt Dev Container Features, sodass Sie schnell und unkompliziert zusätzliche Tools, Laufzeitumgebungen und Bibliotheken integrieren können, wenn Sie diese für die Entwicklung benötigen.
Auch Docker Compose wird jetzt in Dev-Containern unterstützt. Dadurch können sowohl der Hauptcontainer als auch abhängige Container, die während des Entwicklungsprozesses nützlich sind – z. B. Datenbanken oder Nachrichtenwarteschlangen – mit der IDE gestartet werden.
returns
und panics
Für einzeilige returns
und panics
kann jetzt die neue, kompakte Codefaltung verwendet werden, die dem Aussehen des ursprünglichen Codes wesentlich näher kommt.
Die neue Faltsyntax ist standardmäßig aktiviert.
Einen ähnlichen Ansatz verwenden wir auch bei case
-Klauseln: Der Aufwärtspfeil wird entfernt und nur der Doppelpunkt wird gefaltet.
return
Wie bei einzeiligen returns
und panics
haben wir auch bei Funktionen mit einer einzelnen return
-Anweisung die Faltung aktiviert.
Um in Codeabschnitten zur Fehlerbehandlung die Lesbarkeit zu verbessern, faltet GoLand if
-Blöcke in Fehlerbehandlungen automatisch.
Bei if
-Blöcken mit Fehlerbehandlungscode faltet GoLand außerdem alle Einzelanweisungen, zum Beispiel Protokollierungsaufrufe.
string
-Formatierung deaktiviert Wir haben die Codefaltung für die string
-Formatierung deaktiviert, um die relevante Syntax besser erkenntlich zu machen. Außerdem können Sie mit dem neuen Faltungsansatz Codeblöcke bearbeiten, ohne sie erweitern zu müssen.
switch
-Generierung für Enums GoLand kann Sie jetzt beim Schreiben von switch
-Anweisungen für Enums unterstützen. Die IDE schlägt bei der Completion die Generierung von Fällen für alle Werte vor.
iota
deklarierte Konstanten enthalten Die Inspektion hilft Ihnen, den Überblick über switch
-Ausdrücke für iota
-Konstanten zu behalten. Die Inspektion warnt Sie vor Fällen, die nicht vom switch
-Block abgedeckt werden, und bietet zwei Lösungen an: Hinzufügen der fehlenden Klauseln oder Hinzufügen einer default-Klausel.
Mit dieser Funktion können Sie genau sehen, welcher Code in einem oder mehreren Durchläufen ausgeführt wurde. Dadurch können Sie auch ungenutzten Code leichter erkennen.
Bisher funktionierte dies nur bei Testläufen; jetzt können Sie auch die Funktion main
mit Coverage ausführen.
Slice
-Ausdrücke slice
-Ausdrücke können verwirrend sein, insbesondere wenn sie drei Indizes haben. GoLand zeigt Ihnen jetzt Hinweise an, während Sie einen Slice definieren.
printf
-ähnliche Funktionen GoLand stellt zahlreiche nützliche Funktionen für standardmäßige printf
-ähnliche Funktionen bereit: Einfärben von Platzhaltern, Fehlererkennung, Codefaltung usw. Jetzt stehen alle diese Funktionen auch für benutzerdefinierte printf
-ähnliche Funktionen zur Verfügung.
GoLand 2023.3 führt eine verbesserte Datenflussanalyse ein, die auf der CLion-Engine basiert. Dadurch wird ein größeres Spektrum von Codeproblemen erkannt, z. B. potenzielle nil
-Dereferenzierungen, fehlerhafte oder fehlende Fehlerbehandlungen oder Bedingungen, die immer true/false
sind.
Bitte beachten Sie, dass sich diese Funktion derzeit in der Early-Access-Phase befindet und standardmäßig deaktiviert ist. Sie können sie unter Settings | Editor | Inspections | Go | Data Flow Analysis (experimental) aktivieren – wir freuen uns auf Ihr Feedback!
asdf ist ein Befehlszeilentool, mit dem Sie mehrere Laufzeitversionen der Sprache verwalten können. Aufgrund der Rückmeldungen der Community haben wir beschlossen, die asdf-Unterstützung in die diese Version aufzunehmen. Ab diesem Release prüft GoLand die Go-Version in der Datei .tool-versions
und verwendet die passende Go-Version für das Projekt.
Go 1.21 und spätere Versionen sollten besser darauf achten, keinen Code falsch zu kompilieren, der eine noch neuere Version von Go erfordert. Konkret bedeutet dies, dass in der Zeile go
in go.mod
nun die benötigte Mindestversion der Go-Toolchain vorgegeben wird, während dies in früheren Releases ein Vorschlag war, der größtenteils nicht erzwungen wurde.
GoLand unterstützt jetzt dieses Vorgehen vollständig und lädt automatisch die SDK-Version herunter, die in einer go.mod
-Datei in der Zeile go
oder toolchain
angegeben ist. Die angegebene Version wird auch in die Go project-Einstellungen automatisch übernommen.
GoLand 2023.3 wurde auf die moderne IntelliJ-Plattform-API umgestellt, und dadurch wird go list -m
nicht ein zweites Mal ausführt, wenn das Projekt Vendor-Verzeichnisse enthält. Eine effektivere Cache-Nutzung verbessert die Leistung bei Projekten mit vielen Go-Modulen.
Die neue Inlay-Option Run to Cursor, bietet beim Debuggen eine einfache Möglichkeit, den Code bis zu einer bestimmten Codezeile auszuführen. Wenn Ihr Programm angehalten ist, können Sie den Mauszeiger auf die Codezeile bewegen, bis zu der Sie die Ausführung fortsetzen möchten. Dann können Sie über das Popup Run to Cursor den Code bis zu der Zeile ausführen, auf der sich Ihr Cursor befindet.
Wir erweitern die GitLab-Integration um die Unterstützung von GitLab-Snippets. Sie haben jetzt die Möglichkeit, direkt in der IDE öffentliche oder private Snippets zu erstellen.
Sie können jetzt unkompliziert kubeconfig
-Kontexte aus Clustern hinzufügen, die sich in Verzeichnissen außerhalb des benötigten Systems befinden. Dem Projekt werden Links zu kubeconfig
-Dateien hinzugefügt, sodass diese Cluster Ihnen bei der Arbeit an Ihrem Projekt zur Verfügung stehen. Die auf diese Weise hinzugefügten kubeconfig
-Inhalte werden nicht in das System (~/.kube/config)
kopiert oder dort verändert. Diese Funktion ist besonders nützlich, wenn Sie häufig Kubernetes-Cluster aus Cloud- oder On-Premises-Umgebungen hinzufügen und entfernen. Mehr erfahren.
Wenn Sie das Kubernetes-Plugin zum ersten Mal verwenden, müssen Sie möglicherweise kubectl und/oder Helm installieren. Wenn diese noch nicht auf Ihrem System vorhanden sind, bietet die IDE an, sie automatisch zu installieren.
Mit Telepresence können Sie die Microservices einer Kubernetes-Anwendung lokal debuggen – ganz so, als wäre Ihr Arbeitsrechner Teil des Clusters. In dieser Version haben wir durch einen Eintrag im Cluster-Kontextmenü den Zugang zum Telepresence-Workflow vereinfacht. Außerdem haben wir das Interception-Management optimiert, um die Debugging-Erfahrung zu vereinfachen.
import
-Block in Terraform GoLand unterstützt import
-Blöcke auf der obersten Ebene, wie sie ab Version 1.5 der Terraform-Konfigurationssprache möglich sind. Mit import
-Blöcken können Sie die aktuelle Infrastruktur der Verwaltung durch Terraform unterstellen. Wenn import
innerhalb eines Codeblocks verwendet wird, wird es Teil des standardmäßigen „plan“- und „apply“-Zyklus und ist nicht mehr ein Statusvorgang. Terraform führt eine automatische Codegenerierung für importierte Ressourcen durch, sodass Sie bei der Entwicklung von Infrastruktur als Code Zeit sparen.
GoLand 2023.3 behebt einige der Unstimmigkeiten, die beim Hinzufügen von import type
-Anweisungen auftreten können. Die Verwendung der TypeScript-Anweisung „import type“ bzw. des Spezifizierers „type“ beim Importieren eines Typs kann jetzt konfiguriert werden. Außerdem haben wir bei TypeScript-Dateien das Verhalten für das Feld exports
in der Datei package.json verbessert.
Wir haben die Structure-Ansicht verbessert, um in großen .http
-Dateien eine einfachere Navigation zu ermöglichen. Dieses Update führt außerdem farbige Etiketten für Anfragetypen ein und bietet eine übersichtlichere Auflistung der jeweiligen Inhalte. Als weitere Neuerung können Variablen mit @
deklariert werden, und für die Authentifizierung wurden die OAuth-2.0-Grant-Typen „Passwort“ und „Client-Zugangsdaten“ hinzugefügt.
GoLand erkennt automatisch Ihre Cypress- und Playwright-Tests, sodass Sie diese mit einem einzigen Mausklick ausführen oder debuggen können. Die Unterstützung umfasst auch die Möglichkeit, in der Test Tree-Ansicht die Ergebnisse zu überprüfen und Probleme zu lokalisieren.
Dies ist eine überarbeitete Möglichkeit zur Überprüfung von Code-Änderungen. Anstatt jede Datei einzeln durchzugehen, können Sie jetzt alle geänderten Dateien eines Changesets in einem einzigen, scrollbaren Rahmen betrachten. Mehr erfahren.