Suche
Besser, bunter, schneller

IntelliJ IDEA 2017.1: Neue EAP-Version mit neuer Git File History & Smart Step Into für den Debugger

Dominik Mohilo
IntelliJIDEA_icon-300x221

Der neue Release-Zyklus der IntelliJ IDEA sorgt zunächst für frische Farben: Neben dem frei individualisierbaren Syntax-Highlighting brachte die erste EAP-Version von IntelliJ IDEA 2017.1 auch die korrekte Anzeige von Emojis im Editor mit sich. Neben diesen optischen Highlights hat sich auch unter der Haube einiges seit Version 2016.3 getan: Die aktuelle EAP-Version etwa hat einen asynchrone Smart Step Into und eine neue Git File History im Gepäck.

Ein klein wenig werden sich die Nutzer der IntelliJ IDEA noch gedulden müssen, bis das nächste große Update und damit Version 2017.1 erscheint. Das erste diesjährige Major Release der Entwicklungsumgebung ist für das Frühjahr geplant. Wer schon jetzt das Update auf Herz und Nieren testen möchte, für den empfiehlt sich die sogenannte Early Access Program (kurz: EAP) Version. Damit können die neuen Funktionen und Verbesserungen schon jetzt genutzt werden.

Aber vorsicht! Es wird explizit darauf hingewiesen, dass die Qualität der EAP-Version der IDE deutlich unter dem Standard von anderen Pre- oder Beta-Releases liegen kann.

Update vom 16.02.2017

IntelliJ IDEA 2017.1: Weitere Verbesserung für das Debuggen asynchronen Codes

Kaum eine Woche ist seit der Veröffentlichung des letzten EAP-Builds vergangen, da erscheint auch schon der nächste. Nach der jüngst eingeführten Unterstützung von asynchronen Stacktraces setzt das Team der Entwicklungsumgebung seine Bestrebungen fort, das Debuggen asynchronen Codes einfacher zu machen.

Diesmal soll dies mithilfe eines Step-Into-Befehls vonstattengehen, der Lambda-Ausdrücke unterstützt, die in anderen Threads ausgeführt werden. Bislang war dies nur möglich, wenn ein Breakpoint manuell direkt in einen Lambda-Ausdruck eingefügt wurde; jetzt kann man ganz einfach den Smart Step Into nutzen, um asynchronen Code zu debuggen.

Step-Into-Lambda-Ausdruck / Quelle: JetBrains Blog

Step-Into-Lambda-Ausdruck / Quelle: JetBrains Blog

Der neue EAP-Build von IntelliJ IDEA 2017.1 enthält außerdem eine komplett neue Dateihistorie für Git. Die neue File History ist schneller, kann die Revisionsgraphen anzeigen und hat sogar einen Button der es erlaubt, Änderungen von anderen Branches als dem gerade aktuellen einzufügen.

Drittes und letztes Feature des Updates ist die Option, Breakpoints per Drag-and-Drop zu entfernen. Ist die Einstellung aktiv, kann man den Breakpoint per Mausklick aktivieren oder deaktivieren, anstatt ihn direkt zu entfernen. So soll das Entfernen eines Breakpoints aus Versehen verhindert werden und damit der Verlust der enthaltenen Parameter. Via Settings | Build, Execution, Deployment | Debugger | Drag a breakpoint to the editor area to remove it kann die Option aktiviert werden.

 Drag-and-Drop zum Entfernen von Breakpoints / Quelle: JetBrains Blog


Drag-and-Drop zum Entfernen von Breakpoints / Quelle: JetBrains Blog

Weitere Informationen zum aktuellen EAP-Build gibt es, wie immer, auf dem Blog von JetBrains, herunterladen kann man sich die aktuellste Version auf der Downloadseite. Bugs, Anregungen und Vorschläge können per YouTrack eingereicht werden.



Update vom 13.02.2017

IntelliJ IDEA 2017.1: Asynchrone Stacktraces im Debugger

Der neueste EAP-Build von IntelliJ IDEA 2017.1 bringt für den Debugger ein wichtiges neues Feature namens Capture. Dieses verändert den Stacktrace, indem es die Teile der asynchronen Code-Ausführung (Empfänger) durch die korrespondierenden Teile des Stacktraces ersetzt, die dort erfasst werden, wo der asynchrone Code übermittelt wird (Sender). Damit das Feature funktioniert, muss IntelliJ IDEA die exakten Signaturen und Methoden kennen, die für das Senden und Empfangen von Daten (also des asynchronen Codes) verwendet werden sowie die Ausdrücke, die die gesendeten Daten repräsentieren.

Ziel des Features ist es, die Navigation zu relevanten Frames und das Verständnis des Datenflows zu erleichtern. Einziger Haken derzeit: All das muss noch manuell konfiguriert werden. Es ist allerdings geplant, eine vordefinierte Konfiguration für die beliebtesten Bibliotheken zukünftig zur Verfügung zu stellen.

Zu finden sind die Einstellungsmöglichkeiten im Menü Settings | Build, Execution, Deployment | Debugger | Capture. Sind alle Voraussetzungen erfüllt, wird IntelliJ IDEA die adaptierten Stacktraces anzeigen:

Die adaptierten Stacktraces werden angezeigt / Quelle: JetBrains Blog

Die adaptierten Stacktraces werden angezeigt / Quelle: JetBrains Blog

Die Frames der Bibliotheken können herausgefiltert werden, um eine bessere Übersicht zu erhalten:

Übersicht ohne Library-Frames / Quelle: JetBrains Blog

Übersicht ohne Library-Frames / Quelle: JetBrains Blog

Die Macher der IntelliJ IDEA weisen darauf hin, dass dieses Feature die Performance beeinflussen könnte. Dies liegt in erster Linie am Sammeln der zusätzlichen Daten während des Ausführens. Capture befindet sich zurzeit noch in der aktiven Entwicklungsphase, ist aber mit dem aktuellen EAP-Build bereits verfügbar.

Neben Capture wurde ein weiteres Feature dem aktuellen Build hinzugefügt. Im Diff-Dialog ist nun eine neue Option verfügbar: Ignore imports and formatting. Durch diese Option werden Veränderungen innerhalb von Import-Statements und Whitespaces ignoriert, Whitespaces innerhalb von String-Literalen werden allerdings berücksichtigt.

Ignore imports and formatting im Diff-Dialog / Quelle: JetBrains Blog

Ignore imports and formatting im Diff-Dialog / Quelle: JetBrains Blog

Weitere Informationen zum aktuellen Update gibt es auf dem Blog von JetBrains, herunterladen kann man sich den aktuellen EAP-Build hier.



IntelliJ IDEA 2017.1: Bessere Performanz, Unicode-Emojis und Zero-latency Typing

Java & JVM Debugger

Bereits mit Version 2016.3 hatten die Entwickler der IntelliJ IDEA die Möglichkeit implementiert, for-Loops durch Ketten von Stream API Calls zu ersetzen. Da die for-Loops allerdings ab und zu lesbarer sind, gibt es das gleiche Quick-Fix nun auch für die Konvertierung in die Gegenrichtung. So ist es möglich, komplizierte Ketten zu debuggen und anschließend in for-Loops umzuwandeln.

Konvertierung einer Stream API Chain in einen for-Loop / Quelle: JetBrains Blog

Konvertierung einer Stream API Chain in einen for-Loop / Quelle: JetBrains Blog

IntelliJ IDEA 2017.1 bringt für Java-Entwickler auch die Möglichkeit, das Syntax-Highlighting zu individualisieren: In den Einstellungen können die benutzten Farben für reguläre Expressions manuell eingestellt und angepasst werden. Wer auf neue Inspections für JUnit 5 gewartet hat, wird ebenfalls nicht enttäuscht. Sämtliche Inspections, die für JUnit 4 verfügbar waren, gibt es ab sofort auch für den Nachfolger.

Eine weitere Verbesserung der Usability gibt es im Hinblick auf das Überschreiben oder Implementieren von Methoden. Mit der neuen Version von IntelliJ wird es möglich sein, auszusuchen, welche Annotations von der zu überschreibenden oder implementierenden Methode kopiert werden sollen.

Manche Method Breakpoints stellten in der Vergangenheit ein Problem in Sachen Performance dar und behinderten Entwickler bei ihrer Arbeit. Die Emulation durch die IDE als Kombination aus regulären Line Breakpoints soll dieses Problem jetzt beheben. Die JVM Debugger Memory View ist außerdem in Version 2017.1 fest implementiert und muss nicht mehr als Plug-in geladen werden.

Emojis

Natürlich sind Emojis im Editor nicht jedermanns Sache. Bereits jetzt schimpfen manche Entwickler auf JetBrains, dass sie sich zu diesem Schritt entschlossen haben. Andere wiederum sehen es pragmatisch: Emojis gehören eben zu Unicode dazu. Daher werden sie nun auch korrekt im Editor der Entwicklungsumgebung angezeigt:

Emojis im IntelliJ-Editor / Quelle: JetBrains Blog

Emojis im IntelliJ-Editor / Quelle: JetBrains Blog

Emojis können einerseits in Kommentaren, allerdings auch in String-Literalen und Resources genutzt werden. Der einzige Haken: Nur unter Mac OS X werden sie auch wirklich bunt angezeigt. Unter Windows und Linux werden sie als monochrome Zeichen gerendert.

Weitere Features

Das Zero-latency Typing, das bereits experimentell verfügbar ist, wird mit der kommenden Version fester Bestandteil der Entwicklungsumgebung werden. Kurz gesagt soll somit dafür gesorgt werden, dass keine Lags beim Tippen innerhalb des Editors entstehen.

Für Windows-Nutzer gibt es ein neues 64-Bit-JDK. Dadurch können Entwickler der IDE mehr RAM zuweisen, was ebenfalls die Performance verbessern sollte. Keine Neuigkeiten gibt es hingegen im Hinblick auf die Java-9-Unterstützung. Diese befindet sich nach Aussage von JetBrains noch in der Entwicklung, bald soll es aber dazu Neuigkeiten geben – es bleibt also spannend.

Eine vollständige Liste mit Änderungen gibt es auf dem JetBrains Blog, herunterladen kann man sich die aktuelle EAP-Verison auf der entsprechenden Download-Seite.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.