GoLand 2020.1 bietet eine Vielzahl von Upgrades für die Unterstützung von Go-Modulen sowie Funktionen zur Codebearbeitung, die nur wenig Interaktion des Benutzers erfordern, und eine erweiterte Code-Vervollständigungsfamilie.
Darüber hinaus gibt es neue Codeinspektionen, Quick-Fixes und andere Verbesserungen, z. B. den neuen LightEdit-Modus (mit dem Sie eine Datei im Texteditor öffnen können, ohne ein Projekt zu erstellen oder zu laden), intelligente Rechtschreib- und Grammatikprüfungen sowie neue Funktionen für die Webentwicklung und die Arbeit mit Datenbanken.
Lernen Sie lieber interaktiv als durch Lesen? Schließen Sie das Tutorial Funktionen von GoLand 2020.1 in der IDE ab.
Die Umgebungsvariablen von Go 1.13 GOPROXY
, GOPRIVATE
, GOSUMDB
, GONOPROXY
und GONOSUMB 0 > werden jetzt unterstützt.
Konfigurieren Sie ihre Standardwerte mithilfe der Projektvorlage Go Modules . Klicken Sie einfach auf das Symbol Browse im Feld Environment , um das neue Dialogfeld Environment Variables zu öffnen.
Codevervollständigung für go
, module
, require
, replace
, exclude
Schlüsselwörter, Abhängigkeitsnamen und Ersetzungen durch lokale Pfade sind für die Datei go.mod
verfügbar.
Die Refactorings Rename und Move sind ebenfalls verfügbar. Wenn Sie Verzeichnisse umbenennen oder verschieben, auf die durch replace
-Anweisungen verwiesen wird, ändert GoLand den Pfad in der go.mod -Datei entsprechend.
Jetzt können Sie auch Find Usages über die Projektansicht aufrufen, um zu ermitteln, wo der Pfad zu einem bestimmten Verzeichnis in der Datei go.mod
verwendet wird.
In GoLand 2020.1 können Sie fehlende Abhängigkeiten abrufen und nicht verwendete Abhängigkeiten über Alt-Enter entfernen.
Last but not least wird in der neuen Version vor dem Commit eine Benachrichtigung angezeigt, wenn Ersetzungen durch lokale Pfade vorgenommen werden, damit Sie Commits nicht versehentlich durchführen.
GoLand 2020.1 schlägt if err != nil { ... }
vor, um ein Fehlerbehandlungsmuster zu vervollständigen. Geben Sie einfach if
in den Ausdruck ein.
Definieren Sie Struktur- und Schnittstellentypen schneller, indem Sie einfach das Schlüsselwort type
oder struct
und interface
eingeben.
Die Aktion Fill Fields fügt Leerzeichen nach Doppelpunkten hinzu, wenn dies nach den Formatierungsregeln erforderlich ist. Außerdem wird am Ende der Anweisung in Deklarationen von zusammengesetzten Literalen ein Komma eingefügt.
Wenn Sie jetzt mit Karten arbeiten, bewegt die Codevervollständigung den Cursor hinter die schließende Klammer, nachdem Sie einen Schlüsseltyp abgeschlossen haben.
Für den Rückgabetyp der Funktion liefert die Vervollständigung Vorschläge für lokale Variablen und Nullwerte, die für den entsprechenden Rückgabewerttyp geeignet sind.
Intelligente Codevervollständigung schlägt einen Zeiger auf den Strukturinitialisierer vor.
Außerdem werden zuerst kompatible Typen in Assertions und Type-Switch-Cases vorgeschlagen.
In der Typassertion wird der Typ der zugewiesenen Variablen vorgeschlagen.
Schließlich enthält es eine Liste von Vorschlägen für mögliche Zeiger im Ausdruck.
Freuen Sie sich auf grundlegende Codevervollständigung für Kommentare, was das Schreiben von Dokumentationen erheblich erleichtert! Es werden Namen für die aktuellen Paketdeklarationen und Parameternamen für Funktionen und Methoden vorgeschlagen.
Außerdem schlägt die grundlegende Codevervollständigung Literale und Konvertierungen vor.
GoLand 2020.1 fügt beim Schreiben einer Signatur einer mehrwertigen Rückgabefunktion nach dem Komma Klammern um die Rückgabetypen hinzu.
Wenn Sie Text in ein Stringliteral einfügen, wird die IDE nicht in doppelte Anführungszeichen gesetzt.
Um mehr über Funktionen zu erfahren, die automatisch funktionieren, lesen Sie den Artikel GoLand Editing Features You Didn’t Know About.
Go 1.14 hat Unterstützung für das Einbetten überlappender Schnittstellen hinzugefügt, und wir auch! Wenn Sie verschiedene Aspekte eines Typs mithilfe überlappender Schnittstellen beschreiben, meldet GoLand keine doppelten Methoden für sie als Fehler.
Der Vendoring-Mode wird in Go 1.14 automatisch aktiviert, wenn das Modulstammverzeichnis ein Vendor-Verzeichnis enthält. Für GoLand 2020.1 haben wir beschlossen, ein ähnliches Verhalten für Go-Versionen 1.13 und früher zu implementieren. Die IDE löst Importe in den Hersteller / Ordner automatisch auf, wenn sie im Modul vorhanden sind.
Um Ihnen die Unterscheidung zwischen goroutines während des Debuggens oder der Speicherauslesungsanalyse zu erleichtern, haben wir ihnen Profiler-Labels hinzugefügt.
Wenn Sie mehr erfahren möchten, lesen Sie diesen Artikel: How to Find Goroutines During Debugging.
Jetzt können Sie Makros als Parameter verwenden, um Ihre Anwendung auszuführen oder zu debuggen. Klicken Sie im Dialogfeld Run/Debug Configurations in den Feldern Go Tool oder Program Arguments auf + , um den neuen Dialog Macros mit der Liste der verfügbaren Makros zu öffnen.
Außerdem können Sie jetzt die Konfigurationsdatei im Projekt speichern. Wählen Sie oben im Dialogfeld Run/Debug Configurations die Projektdatei-Option Store .
Die Vorlage .else
postfix-Vervollständigung fügt schnell eine if
-Anweisung hinzu, um zu überprüfen, ob der Ausdruck falsch ist.
Ändern Sie einen nicht formatierenden Aufruf in kürzester Zeit in einen formatierenden Aufruf, indem Sie Alt+Enter drücken.
Der Quick-Fix Create variable zeigt jetzt einen erwarteten Type Hint an, um die Eingabe des richtigen Wertes zu erleichtern.
Diese neue Codeinspektion warnt Sie vor ungültigen Aufrufen von Zeigermethoden auf Nicht-Zeigerempfängern und bietet eine Quick-Fix.
Die Codeinspektion Invalid conversions of uintptr to unsafe.Pointer warnt Sie vor falschen Verwendungen von uintptr
und unsafe.Pointer
zum Konvertieren von Ganzzahlen in Zeiger.
Die Inspektion Unmarshal is called with incorrect argument analysiert Aufrufe an json.Unmarshal
und ähnliche Funktionen von encoding/json
, encoding/xml
und Codierung/gob
-Pakete.
Mit den Locks mistakenly passed by value Codeinspektion können Sie vermeiden, dass versehentlich ein Wert kopiert wird, der gesperrt ist.
Wir haben neue Vorlagen hinzugefügt, mit denen Sie schnell Gruppen von Deklarationen erstellen können. Dazu gehören consts
, vars
, types
, und imports
. Wenn Sie eine dieser Vorlagen verwenden, fügt GoLand um die Deklarationsnamen geschweifte Klammern hinzu.
Die Vorlage fori
fügt den Codebaustein für die klassische for-Schleife ein.
Die Refaktorierung Extract Method behält die ursprüngliche Reihenfolge der übergeordneten Funktions- und Methodenparameter bei.
Die Refaktorierung Rename erkennt jetzt das Umbenennen einer Deklaration automatisch. Dies bedeutet, dass beim manuellen Umbenennen einer Deklaration ein Randleistensymbole in der IDE angezeigt wird, mit dem alle Verwendungen umbenannt werden können.
Navigate to implementations (Ctrl+Alt+B) und Navigation to Declaration oder Usages (Ctrl+B) zeigen jetzt zuerst die Ergebnisse des aktuellen Projekts an.
Außerdem sucht die Aktion Find Usages (Alt+F7) jetzt immer nach Auslastung von Schnittstellenmethoden. Verwenden Sie Alt + Umschalt + Strg + F7, um die Verwendung der aktuellen Methode wie zuvor zu ermitteln.
Das neue Fenster des Commit-Tools enthält jetzt die Registerkarten Local Changes und Shelf . Dieses Toolfenster behandelt alle Commit-bezogenen Aufgaben, z. B. das Überprüfen von diffs, das Auswählen von Dateien und Blöcken um Commits auszuführen und das Eingeben einer Commit-Nachricht. Commit wird ein vertikales Toolfenster auf der linken Seite des Bildschirms angezeigt, sodass genügend Platz zum Anzeigen des diffs im Editor bleibt.
Das Popup Branches wurde auf verschiedene Weise überarbeitet:
Wir haben Interactively Rebase from Here grundlegend überarbeitet. In diesem Dialogfeld können Sie Ihre bisherigen Commits bearbeiten, kombinieren und entfernen, um Ihren Commitverlauf linearer und übersichtlicher zu gestalten.
Um diesen Dialog aufzurufen, rufen Sie die Registerkarte Log des Toolfensters Git auf, wählen Sie das älteste Commit in der Reihe der Commits aus, die Sie bearbeiten möchten, klicken Sie mit der rechten Maustaste darauf und wählen Sie Interactively Rebase from Here.
Mit den neuen intelligenten Intentions und Inspektionen (Alt+Enter) können Sie beim Programmieren viel Zeit sparen! So können Sie zum Beispiel vorhandenen Code ohne Aufwand für die Verwendung von optionaler Verkettung und/oder Nullish-Coalescing konvertieren – zwei Syntaxmerkmale, die in den neuesten Versionen von JavaScript und TypeScript eingeführt wurden.
Bei JavaScript und TypeScript zeigt das Dokumentations-Popup jetzt weitere nützliche Informationen an, einschließlich Daten zu Typ und Sichtbarkeit des Symbols sowie dem Definitionsort des Symbols.