Hallo Habr!
Vor zwei Wochen haben wir GoLand 2019.1 veröffentlicht und haben es eilig, Ihnen über die neuesten Entwicklungen in dieser Version zu berichten.

Code-Leistungsanalyse
Wir haben die Integration mit Speicher-, CPU-, Mutex- und Block-Profilern hinzugefügt! Jetzt können Sie jeden von ihnen mit einem Klick auf eine Schaltfläche starten und die Profilerstellungsergebnisse analysieren, ohne die IDE zu verlassen.
Diese neue Aktion ist im Menü Ausführen , im Navigationsbereich und im Kontextmenü der Testlaufsymbole verfügbar. Die Ergebnisse der Codeprofilerstellung finden Sie im Profiler-Fenster ( Ansicht | Werkzeugfenster | Profiler ).
Verwenden Sie die Registerkarten Flammendiagramm , Anrufbaum und Methodenliste , um ein klareres Bild von Leistungsproblemen zu erhalten . Darüber hinaus haben wir für jeden Profilertyp Metriken hinzugefügt, die seinem Typ entsprechen. Mit dem Speicherprofiler können Sie beispielsweise Ergebnisse nach den Metriken Zugeordnete Objekte , Zugeordneter Speicherplatz , Verwendete Objekte und Verwendeter Speicherplatz sortieren und untersuchen.
Darüber hinaus können Sie im Profiler-Fenster in einer Aktion zum Quellcode wechseln, indem Sie die Taste F4 drücken.
Weitere Informationen zum Profilieren von Anwendungen und Tests in GoLand finden Sie hier (auf Englisch).

Debuggen
In dieser Version sind viele verschiedene Funktionen für den Debugger erschienen.
Die neue Aktion " Smart Step Into" erleichtert das Debuggen einer Kette von Aufrufen und Aufrufen verschachtelter Methoden. Es führt den erforderlichen Aufruf im Ausdruck aus und überschreitet automatisch Methoden, die Sie nicht interessieren.
Wenn Sie beispielsweise den Code fmt.Printf debuggen ("Mein Name ist% s, ich bin% d!", Me.FullName (), me.Age ()), können Sie sofort zum Aufruf von Age () wechseln.
Um diese Aktion auszulösen, drücken Sie Umschalt + F7 oder wählen Sie im Menü Ausführen die Option Smart Step Into .

Der Debugger zeigt jetzt standardmäßig Goroutinen anstelle von Threads an. Sie können jedoch bei Bedarf schnell zwischen ihnen wechseln.
Verwenden Sie die Aktion Stapel kopieren, indem Sie mit der rechten Maustaste auf Goroutine klicken, um den gesamten Stapel in die Zwischenablage zu kopieren.

Wenn Sie mit der rechten Maustaste auf eine Variable vom Typ int klicken, wird ihr Wert in binär, dezimal oder hexadezimal übersetzt.

Zum Cursor ausführen wird jetzt durch Klicken auf die Zeilennummer während des Debuggens aktiviert. Bewegen Sie den Mauszeiger über eine Zeile, um sie auszuwählen, und klicken Sie auf die Nummer, um den Cursor ausführen .

Run / Debug-Konfigurationen können jetzt mit sudo ausgeführt werden. Auf diese Weise können Sie Anwendungen debuggen, für die vom Benutzer privilegierte Rechte erforderlich sind.

In der vorherigen Version haben wir Unterstützung für die Analyse von Core-Dumps hinzugefügt. Jetzt können Sie die von Windows erstellten kleinen Speicherabbilder analysieren. Wählen Sie zunächst Open Core Dump aus dem Menü Run .

Code-Refactoring
Durch das Refactoring von Schnittstellen extrahieren können Sie schnell eine neue Schnittstelle basierend auf dem ausgewählten Typ erstellen und die erforderlichen Methodendefinitionen daraus extrahieren.
Im Dialogfeld Refactoring können Sie die Methoden auswählen, auf deren Grundlage aus diesem Typ eine neue Schnittstelle erstellt wird. Dort können Sie den Namen angeben und die Datei, den Ordner und das Paket auswählen, in die diese Schnittstelle gestellt werden soll.
Um das Refactoring aufzurufen, drücken Sie unter Windows / Linux Strg + Alt + Umschalt + T oder unter macOS ^ T und wählen Sie im Popup-Menü die Option Schnittstelle extrahieren.

Umbenennen kann jetzt in Schnittstellen deklarierte Methoden umbenennen. Beim Umbenennen solcher Methoden schlägt GoLand auch vor, ihre Implementierungen umzubenennen.
Sehen Sie sich vor dem Anwenden von Refactoring an, was im Vorschaufenster passiert.

Codeprüfung
Nilness Analyzer ist eine Reihe von Inspektionen, mit denen festgestellt wird, ob Variablen Null sein können oder nicht, und die Sie auf potenzielle Schwachstellen und Codefehler hinweisen , die durch Laufzeitpanik verursacht werden können. Verwenden Sie beispielsweise Strukturfelder über den Nullzeiger, rufen Sie Methoden auf der Nullschnittstelle auf, greifen Sie auf Nullscheiben zu und so weiter.



Gehen Sie Module
GoLand bietet Code-Vervollständigungsoptionen für alle Module, die sich im Cache befinden. Mit anderen Worten, wenn das Modul noch nie in dieses Projekt importiert und verwendet wurde, Sie es jedoch jemals zuvor in einem anderen verwendet haben, merkt sich GoLand dies und wird es Ihnen mitteilen.

Wenn Sie ein Go-Modul-Projekt erstellen, können Sie jetzt den Vendoring-Modus auswählen. In diesem Modus können Sie Bibliotheken aus dem Herstellerordner ohne externe Abhängigkeiten oder Internetverbindung verwenden. Diese Option befindet sich auch in den Einstellungen: Einstellungen | Gehen Sie | Go Module (vgo) .

Installieren Sie eine beliebige Version des GO SDK direkt von GoLand
Wenn Sie ein neues Projekt in GoLand erstellen, können Sie jede Version des SDK herunterladen und installieren, einschließlich Beta- und RC-Versionen, ohne die IDE zu verlassen.
Sobald die ausgewählte Version des SDK installiert ist, meldet GoLand dies im Ereignisprotokollfenster .

Mit Code arbeiten
Wir haben eine Reihe von Aktionen hinzugefügt, um die Arbeit mit Deklarationen von Variablen, Konstanten und Typen zu vereinfachen. Sie können Anzeigen Klammern hinzufügen oder von dort entfernen, Anzeigen kombinieren, Anzeigen in zwei Gruppen aufteilen, sie durch Kommas trennen und vieles mehr.
Die vollständige Liste der Aktionen finden Sie in den Einstellungen: Einstellungen / Einstellungen | Editor | Absichten

Die neue Aktion "Exportieren" exportiert eine Funktion, einen Typ, eine Variable oder eine Konstante direkt an ihrem Verwendungsort aus einem anderen Paket, ohne zur Deklaration gehen zu müssen.

Benutzerdefinierte Themen
Ab Version 2019.1 können Sie beliebige Farbschemata für alle unsere IntelliJ IDEA IDEs erstellen. Das neue Schema wird als Plugin verwendet, sodass sie auch leicht mit anderen geteilt werden können. Wir konnten nicht widerstehen und haben einige unserer Optionen gewählt: Dark Purple , Cyan Light und Grey .

Lesen Sie hier, wie Sie Ihre eigenen Themen erstellen können:
Allgemeine Änderungen
Das Tastaturlayout für Sublime Text wurde zu den Einstellungen hinzugefügt: Einstellungen / Einstellungen | Keymap Das Layout für VS Code kann mit diesem Plugin verwendet werden .

Das Popup "Letzter Standort" ist ein neues Suchzentrum. Es wird eine Liste aller Stellen im Projektcode angezeigt, an denen Sie einige Änderungen vorgenommen oder nur den Code gelesen haben. Die Standardtastenkürzel lautet: Umschalt + Strg + E unter Win / Lin, ⇧⌘E unter macOS.

Auf dem Startbildschirm haben wir Vorlagen für Webentwicklungsprojekte wie die React App, React Native, HTML5 Boilerplate und Foundation hinzugefügt.

Jetzt können Sie die Einstellungen für den Codestil in das JSON-Format exportieren. Dies ist zusätzlich zu der vorhandenen XML-Exportoption: Einstellungen / Einstellungen | Editor | Codestil .

Das ist alles! Lesen Sie mehr über die Änderungen in dieser Version oder sehen Sie sich eine kurze Demo an (auf Englisch):
Übrigens nehmen wir häufig Ideen für Verbesserungen aus Ihrem Feedback und Ihren Vorschlägen. Schreiben Sie uns hier in den Kommentaren, in unserem Bug-Tracker oder auf Twitter .
Und für den Fall, dass ich Sie daran erinnere, dass Sie dieses Plugin nur installieren müssen, wenn Sie bereits IntelliJ IDEA Ultimate verwenden und alle Funktionen von GoLand direkt dort verfügbar sind.
Vielen Dank für Ihre Aufmerksamkeit!