Entwicklungsumgebung: IntelliJ IDEA 2017.3 hat Kotlin 1.2 an Bord

Das aktuelle Release der vor allem auf Java-Entwickler ausgerichteten IDE gibt unter anderem Hinweise auf Nullability-Probleme und reduziert den Overhead des Debuggers. Außerdem gibt es Funktionen für Multi-Plattform-Projekte mit Kotlin 1.2.

In Pocket speichern vorlesen Druckansicht 29 Kommentare lesen
IntelliJ IDEA 2017.3 hat Kotlin 1.2 und einige Hilfen für Java-Entwickler an Bord
Lesezeit: 4 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Im Zuge der allgemeinen Aktualisierungen der IDEs hat JetBrains nun auch das Flaggschiffprodukt IntelliJ IDEA in Version 2017.3 herausgegeben. Bei den neuen Funktionen hat sich gegenüber dem vor zwei Wochen erschienen Release Candidate wenig geändert. heise Developer hatte zum Release bereits über die vor allem für Enterprise-Entwickler interessanten Funktionen für Java EE 8, Docker und Datenbankanbindung berichtet.

Nennenswert ist im Vergleich zum Release Candidate vor allem, das nun die frische GA-Version von Kotlin 1.2 an Bord ist, was auch der Grund dafür sein dürfte, dass die vor allem für Java-Entwickler ausgerichtete IDE erst kurz nach WebStorm, PhpStorm und PyCharm erschienen ist.

Das Kotlin-Plug-in bietet eine bisher noch als experimentell gekennzeichnete Unterstützung für Multi-Plattform-Projekte, die wesentliche Neuerung von Version 1.2 der aus dem Hause JetBrains stammenden Programmiersprache. Damit lassen sich in einem Kotlin-Projekt die Zielplattformen JVM (Java Virtual Machine) und JavaScript ansprechen mit einer Kombination aus Cross-Platform- und plattformspezifischen Modulen.

IntelliJ IDEA erkennt dabei die sogenannten Expected Declarations, die Entwickler in plattformübergreifenden Modulen definieren, um zu signalisieren, dass dafür entsprechende Implementierungen in den plattformspezifischen Modulen vorhanden sein müssen. Fehlen diese, warnt der Editor. Außerdem können Entwickler direkt von den Expected Delarations zu den Implementierungen springen, so wie sie es von Methodenaufrufen und -deklarationen gewohnt sind.

Der Editor erkennt fehlende Implementierungen in Kotlin 1.2.

(Bild: JetBrains)

Java-Entwickler finden unter allem erweiterte Hilfen hinsichtlich der Nullability. Diese lässt sich nun für Parameter beliebiger static, final und private Methoden annotieren. Bisher funktionierte das jenseits von Library-Methoden nur für Rückgabewerte. Außerdem überprüft der Editor nun auch verkettete Stream-API-Aufrufe auf Nullability. Eine weitere Neuerung hinsichtlich verketteter Aufrufe ist, dass die Autovervollständigung nun Type Casts innerhalb verketteter Methodenaufrufen erkennt und passende Vorschläge macht.

Der Editor kann nun über ein Kontextmenü StringBuilder durch Stream.collect beziehungsweise Collectors.joining ersetzen. Außerdem bietet IntelliJ eine Hilfsfunktion, um Projekte von JUnit 4 auf JUnit 5 zu migrieren und kümmert sich dabei um die passenden Dependencies und benötigten JARs.

Die IDE hilft beim Umstieg von JUnit 4 auf JUnit 5.

(Bild: JetBrains)

IntellIJ IDEA 2017.3 erkennt zudem zahlreiche Fehler wie doppelt verwendete Map-Keys und Set-Elemente sowie redundante throws-Deklarationen. Für zahlreiche Deprecations, also als überholt gekennzeichnete Methoden, bietet der Editor Quick-Fixes zum Wechsel auf aktuelle API-Aufrufe.

Der Debugger bietet nun einen Overhead-Tab, der anzeigt, welche Zeit der Debugger selbst beispielsweise zum Berechnen von Werten benötigt. Um den Overhead zu verringern hat JetBrains sogenannte On-demand Data Renderer eingeführt, die der Debugger nicht mehr ständig aktualisiert, sondern nur auf Anforderung berechnet. Der Java-Stream-Debugger zum Visualisieren von Java-Stream-Operationen, der bisher als separates Plug-in verfügbar war, ist nun fester Bestandteil von IntelliJ IDEA.

Ein neuer Tab zeigt den Overhead beim Debuggen an.

(Bild: JetBrains)

Einige Funktionen teilt sich die IntelliJ IDEA mit den anderen 2017.3-Varianten von JetBrains. Dabei sind unter anderem die Editorfunktionen zum Erstellen eines REST-Clients zu nennen. Außerdem finden JavaScript-Entwickler wie in WebStorm eine Hilfsfunktion, um Methoden in Elternklassen zu holen, sowie eine Anbindung an Mozillas Dokumentationsportal MDN.

Weitere Neuerungen für weitere Programmiersprachen wie Scala und Frameworks wie Spring lassen sich dem Blogbeitrag sowie der offiziellen Ankündigungsseite entnehmen. Sowohl die kostenlose Community- als auch die kommerzielle Ultimate-Edition von IntelliJ IDEA 2017.3 stehen zum Herunterladen bereit. Die Community-Edition bietet weniger Funktionen, lässt sich aber zum Entwickeln von Code in Kotlin, Groovy und Scala ebenso verwenden wie in Java. Die Java-EE- und Spring-Funktionen sowie die Hilfen beim Editieren von JavaScript- und TypeScript-Code ist Nutzern der Ultimate-Version vorbehalten. (rme)