Mit GoLand 2021.1 können Sie Ihr Programm über Docker, SSH und WSL 2 remote erstellen und ausführen, mit Go 1.16 neu eingeführte Funktionen wie //go:embed
verwenden, JSON in Code umwandeln und mit neuen Quick-Fixes Fehler beheben.
GoLand ist mehr als nur eine Go-IDE. Zusätzlich zu den Funktionen für die Go-Entwicklung erhalten Sie neue Features für JavaScript, TypeScript und Datenbanken.
Bevorzugen Sie interaktives Lernen statt Lesen? Dann ist unser Tutorial What's New in GoLand 2021.1, das Sie auf dem Begrüßungsbildschirm der IDE finden, genau das Richtige für Sie.
In GoLand 2021.1 können Sie den auf Ihrem Computer lokal entwickelten Quellcode auf Remote-Systemen ausführen. Derzeit unterstützt die IDE Docker, SSH und WSL 2 (Windows-Subsystem für Linux).
Wählen Sie in den Einstellungen Run | Manage Targets…, klicken Sie auf das Hinzufügen-Symbol (+) und wählen Sie die gewünschten Ziele aus. Nach Abschluss der Konfiguration müssen Sie die Run-Konfiguration unter Run | Edit Configurations… angeben und das Ziel auswählen, mit dem Sie arbeiten möchten.
Ab Go 1.16 können Sie Dateien und Verzeichnisse zur Kompilierungszeit in eine Go-Binärdatei einbetten.
Embedding works on a few types of variables: string
, []byte
, and embed.FS. Sie müssen diese Variablen auf der obersten Ebene Ihres Pakets deklarieren. Damit das Einbetten funktioniert, müssen Sie schließlich die //go:embed
-Direktive hinzufügen.
GoLand bietet Syntaxhervorhebung, Navigation von den Referenzen innerhalb der Embed-Direktive zu den Dateien und Ordnern in Ihrem Projekt, Rename-Refactoring, Verwendungssuche, Code-Completion und einige Code-Inspektionen. So werden Sie beispielsweise gewarnt, wenn Sie versuchen, Dateien in eine Variable vom falschen Typ einzubetten.
GoLand warnt Sie vor ungültigen Anrufen der testing.T
-Methode Fatal
innerhalb einer Goroutine, die während des Tests erstellt wurde.
Der dazugehörige Quick-Fix schreibt den Code, der t.Fatal
(oder eine ähnliche Methode) aufruft, so um, dass der Testfehler mit t.Error
signalisiert und die Goroutine mit einer return-Anweisung vorzeitig beendet wird.
In Go 1.16 erkennt go vet falsche Verwendungen von asn1.Unmarshal
, um sicherzustellen, dass der Wert, in den ein Byte-Slice entpackt wird, nicht Null ist.
GoLand 2021.1 bietet eine ähnliche Prüfung sowie einen Quick-Fix zur Behebung des Problems.
Sie können aus JSON-Daten in Sekundenschnelle einen Struct mit Feldern und Tags erstellen, indem Sie einfach die JSON-Daten in den Editor kopieren.
Wenn Sie den JSON-Code vor dem Generieren eines Structs anpassen möchten, drücken Sie Alt+Enter, um die Intention Generate type from JSON aufzurufen. GoLand öffnet das Fenster Generate Go type from JSON mit dem kopierten JSON-Code. Sie können den Code in diesem Fenster nach Belieben anpassen und dann mit Generate den Struct erstellen. Natürlich können Sie JSON-Code auch manuell in das Fenster kopieren.
Darüber hinaus können Sie JSON-Daten auch in einem bereits vorhandenen leeren Struct ablegen. Klicken Sie dazu einfach auf den leeren Struct und rufen Sie mit Alt+Enter oder über das Generate-Menü die Intention-Aktion Generate struct fields from JSON auf.
GoLand warnt Sie, wenn Sie versuchen, im Fenster Generate Go type from JSON ungültigen JSON-Code zu verwenden.
Es ist jetzt viel einfacher, JSON- und XML-Tags für alle exportierten Felder im Struct zu erstellen.
Wenn Sie mit Alt+Enter die Aktion Add key to tags für den Struct oder ein Feld des Structs aufrufen, fügt GoLand allen Feldern im Struct ein Tag mit dem Feldnamen hinzu. Wenn Sie den Stil des Feldnamens für alle Tags ändern möchten, drücken Sie Alt+Enter auf einem beliebigen Schlüssel erneut und wählen Sie Change field name style in tags. Die folgenden Stile werden unterstützt: feldName
, FeldName
, feld-name
und feld_name
.
Sie können mit der Intention-Aktion Update key value in tags alle Tag-Werte in einem Zug ändern. Drücken Sie Alt+Enter auf einem beliebigen Tag-Wert Ihres Structs, und GoLand setzt in jedem Feld Einfügemarken an das Ende des Tag-Werts.
Darüber hinaus bietet die IDE Completion-Vorschläge in Tag-Werten für bekannte Token, die vom SDK für JSON-, XML- und ASN.1-Code bereitgestellt werden.
Und schließlich unterstützt GoLand 2021.1 das durch Zeilenumbrüche getrennte JSON-Lines-Format, das für strukturierte Daten und Protokolle verwendet wird. Die IDE erkennt die Dateitypen .jsonl
, .jslines
, .ldjson
und .ndjson
.
Dateien in diesem Format bestehen aus mehreren Zeilen, die jeweils ein JSON-Objekt enthalten. Als Trennzeichen wird das Zeilenvorschubzeichen verwendet. Weder am Anfang noch am Ende der Zeilen sind Kommas erforderlich, und es ist nicht nötig, den gesamten Dateiinhalt in eckige oder geschweifte Klammern zu setzen.
Der Codeinspektion Unhandled Error stehen jetzt eine ganze Reihe von Quick-Fixes zur Seite:
if error not nil
-Prüfung. defer
und go
verfügbar und erzeugt ählichen Code wie Handle error, allerdings wird alles von einer Closure umgeben. defer
und go
erweitert. Der Quick-Fix weist die Aufrufergebnisse leeren Variablen zu und schließt alles in eine Closure ein. Wir haben den Anwendungsbereich eines Quick-Fixes zur Behebung von Typ-Kompatibilitätsproblemen erweitert. Der Quick-Fix schlägt nun auch die Erstellung einer Schnittstelle sowie die Konvertierung zum erwarteten Typ in zusammengesetzten Literalen vor.
Wenn Sie in GoLand einen noch nicht existierenden Typ verwenden, kann der Quick-Fix Create Type nicht nur den Typ selbst erstellen, sondern auch die benötigten Felder.
Die Erstellung von get
- und set
-Methoden für jedes Feld eines riesigen Structs kann eine mühsame Aufgabe sein. Jetzt können Sie Getter und Setter für den gesamten Struct in einem Zug generieren.
Drücken Sie Alt+Enter auf einem beliebigen Struct-Feld und wählen Sie im Dropdown-Menü Generate getter and setters aus. GoLand öffnet das Fenster Select Fields, in dem Sie get
- und set
-Methoden für alle Felder oder nur für bestimmte Felder generieren können.
Mit dem Refactoring Extract Type können Sie einen Typ aus einem vorhandenen Typ extrahieren oder einen anonymen Strukturtyp in einen benannten Typ konvertieren. Drücken Sie zum Aufrufen die Tastenkombination Strg+Alt+Umschalt+T.
Manchmal kommt es vor, dass man nach Abschluss der Vorarbeiten oder nach einigem Experimentieren mit dem Projekt ein Modul umbenennen möchte. Zu diesem Zweck steht Ihnen nun das Rename-Refactoring für die go.mod-Datei zur Verfügung. Sie können das Modul ohne Risiko umbenennen, ohne in der Projektstruktur alle Verwendungen suchen und anpassen zu müssen.
Rufen Sie dazu auf dem Modulnamen mit Umschalt+F6 das Rename-Refactoring auf. GoLand öffnet das Rename-Fenster, in dem Sie den aktuellen Namen ändern können. Sie haben die Wahl, ob die Änderung auch Kommentare und Zeichenfolgen umfassen soll, und Sie können eine Vorschau des Refactorings überprüfen. Vom Tab Refactoring Preview können Sie zu allen Verwendungen des Modulnamens navigieren. Mit der Rückgängig-Aktion können Sie alle durch das Refactoring vorgenommenen Änderungen schnell rückgängig machen.
Wenn Sie nach einem Bezeichner, der einen Fehler zurückgibt, .varCheckError
eingeben, generiert die IDE automatisch Standard-Variablennamen und gibt den Fehler aus der Funktion zurück.
Der integrierte Formatierer kann jetzt Importe genauso gruppieren wie goimports -local.
Um dies zu aktivieren, gehen Sie zu Settings | Editor | Code Style | Go | Imports und aktivieren Sie die Importgruppierung. Sie können auch angeben, welche Importe in separate Blöcke gruppiert werden sollen.
Mit GoLand 2021.1 können Sie längere sudo-Sitzungen ausführen. Beim ersten Ausführen fragt GoLand, ob Sie sudo weiter ausführen oder sofort beenden möchten. Unter Settings | Appearance & Behavior | System Settings | Process Elevation können Sie die Einstellung jederzeit ändern.
Bitte beachten Sie, dass Sie durch Aktivieren dieser Option GoLand und allen Drittanbieter-Plugins Zugriff auf Ihr System gewähren.
Wir haben bei der Code-Completion die Unterstützung durch maschinelles Lernen aktiviert. Damit debütiert die in einem frühen Stadium befindliche ML-gestützte Code-Completion, die eine Alternative zum herkömmlichen Ranking-Mechanismus darstellt.
Aktivieren Sie Mark position changes in completion popup unter Settings | Editor | General | Code Completion, um Vorschläge, die durch ML-Completion umsortiert wurden, in der Completion-Liste mit Auf-/Ab-Pfeilen zu markieren.
Das Configuration-Widget, das bisher in der unteren linken Ecke der IDE verfügbar war, wurde durch ein Schnellzugriffsmenü ersetzt. Das neue Menü wird in der oberen rechten Ecke angezeigt. Klicken Sie auf das Zahnradsymbol, um das Design oder die Tastaturbelegung zu wechseln, zu den Plugins zu navigieren oder die Einstellungen zu öffnen.
Sie können jetzt unter Windows auf Ihre letzten Projekte zugreifen, indem Sie in der Taskleiste oder im Start-Menü mit der rechten Maustaste auf das GoLand-Symbol klicken.
Tooltips werden jetzt nacheinander angezeigt, um Überlappungen zu vermeiden.
Sie können jetzt unter Settings | Editor | Font Schriftvarianten auswählen.
Mit einer neuen, integrierten Browser-Vorschau können Sie HTML-Dateien in Sekundenschnelle überprüfen. Alle Änderungen, die Sie in der IDE an den HTML-Dateien oder den verknüpften CSS- und JavaScript-Dateien vornehmen, werden sofort gespeichert, und die Vorschau wird unmittelbar aktualisiert.
Um die Vorschau zu öffnen, klicken Sie im Widget in der oberen rechten Ecke des Editors auf das GoLand-Logo.
Benötigen Sie hin und wieder mehr Platz, wenn Sie in einem geteilten Editor mit mehreren Dateien gleichzeitig arbeiten? Doppelklicken Sie auf den gerade verwendeten Tab, um ihn im Editorfenster zu maximieren. Mit einem erneuten Doppelklick wird der Tab wieder auf die ursprüngliche Größe verkleinert.
Das Plugin Makefile Language, das Sprachunterstützung für GNU Make bietet und früher von einem Drittanbieter gepflegt wurde, ist jetzt im Standard-Lieferumfang enthalten. Damit bietet GoLand 2021.1 direkt nach der Installation Syntaxhervorhebung, Kurzdokumentation, Verwendungssuche für Targets und einige Navigations- und Code-Completion-Aktionen für Makefile!
Code With Me, der neue JetBrains-Service für kollaborative Entwicklung und Paarprogrammierung, ist ab sofort in GoLand enthalten.
Stellen Sie die benötigte Zugriffsstufe für Ihr Projekt ein und teilen Sie den Link mit Ihren Gästen. Ihre Kolleg*innen benötigen nicht einmal eine eigene IDE, um mit Ihnen zusammenzuarbeiten. Integrierte Audio- und Videoanrufe sowie Chat-Nachrichten helfen Teams dabei, den Code zu besprechen, ihr Wissen zu teilen und effizienter zusammenzuarbeiten.
Unternehmen, die besonderen Wert auf Sicherheit legen, können Code With Me in ihrem eigenen privaten Netzwerk installieren und sicher ausführen.
Weitere Informationen zur Verfügbarkeit von Code With Me mit Ihrer aktuellen JetBrains-Lizenz finden Sie auf unserer Preisseite.
Wir haben den Dialog Run/Debug Configuration in verschiedener Hinsicht verbessert:
Durch experimentelle Unterstützung für BuildKit haben wir den Build-Prozess von Projekten erheblich beschleunigt. Um diese Option zu aktivieren, klicken Sie in Run/Debug Configurations auf Modify options und dann auf Enable BuildKit (experimental).
Klicken Sie einfach auf das Hammer-Symbol neben dem Stage-Namen, und die IDE erstellt das Image mit BuildKit. Wenn Sie den Abschnitt Run in Run/Debug Configurations hinzufügen, ändert sich das Symbol. Wenn Sie es anklicken, wird nicht nur ein Image erstellt, sondern auch ein Container ausgeführt.
Wenn Sie mehrere FROM
-Anweisungen in Ihrer Dockerfile verwenden, startet jede FROM
-Anweisung eine neue Stage. In GoLand 2021.1 können Sie jetzt die einzelnen Stages zuklappen. Außerdem ist zwischen den Stages eine eindeutige Trennlinie zu sehen.
Wenn Sie eine ausgeführte Dockerfile beenden möchten, können Sie dies ganz einfach im Services-Toolfenster erledigen. Wählen Sie das ausgeführte Objekt aus, rufen Sie das Kontextmenü auf und klicken Sie auf Stop Deploy.
Bei Verwendung von Bind-Mounts lässt sich der Pfad zu einem Verzeichnis auf dem Host schneller eingeben. Die Completion-Funktion schlägt in der Bind mount-Option von Run/Debug Configurations Makros und Umgebungsvariablen vor.
Zu guter Letzt haben wir die Completion von Image-Namen implementiert.
Die MDN-Dokumentation wird jetzt mit GoLand mitgeliefert. Auf diese Weise werden Verbindungsprobleme zur MDN-Website vermieden, und die Dokumentation für Ihre HTML-, CSS- und JavaScript-Dateien kann schneller angezeigt werden. Auch der Umfang der im Editor angezeigten Informationen wurde erweitert – für die JavaScript-APIs werden zum Beispiel die unterstützten Browserversionen angezeigt.
Das Überprüfen von CSS-Code mit Stylelint ist jetzt einfacher. Es bedarf nur weniger Klicks, um mit diesem beliebten Linter Probleme in Ihrem Code zu beheben. Bewegen Sie den Mauszeiger oder die Einfügemarke auf ein Problem in Ihrer Datei, drücken Sie Alt+Enter und wählen Sie Stylelint: Fix current file.
Darüber hinaus können Sie jetzt im entsprechenden Feld unter Settings | Languages & Frameworks | Style Sheets | Stylelint den Pfad zur Konfigurationsdatei angeben.
When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Alternativ können Sie den Fokus auf einen Selektor legen und mit Strg+Q das Dokumentations-Popup aufrufen, das diese Informationen ebenfalls enthält.
Wir haben die Sortierung von Daten verbessert:
Dies ist unsere Lösung für alle, die einfache Anweisungen direkt im Datenbank-Explorer generieren möchten. Allgemeine Live-Vorlagen decken viele Fälle ab, wenn es darum geht, schnell eine einfache Abfrage zu schreiben. Aber wenn Sie im Datenbank-Explorer bereits das gewünschte Objekt ausgewählt haben, sollte es einfachere Möglichkeiten geben, um eine Abfrage zu erstellen, die sich auf dieses Objekt bezieht.
Select first N rows from a table sieht wie eine allgemeine Vorlage aus (und kann auch als solche verwendet werden). Da diese spezielle Syntax nicht in allen Datenbanken verwendet werden kann, sind die entsprechenden Dialekte für die Vorlage festgelegt. Das Unterscheidungsmerkmal, das die Anwendung dieser Vorlage im Datenbank-Explorer ermöglicht, ist der spezielle Ausdruck dbObjectName
, der für die Variable $table$
verwendet wird.
Wir haben eine Bedienoberfläche zum Bearbeiten von Grants beim Ändern von Objekten hinzugefügt.
Das Fenster Modify user, das Sie mit Strg+F6 für einen Benutzer im Datenbank-Explorer aufrufen können, bietet jetzt die Möglichkeit, Objekten Grants zuzuordnen.
Dieses Feature ist für PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server und Sybase verfügbar.