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.
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.
Hilfe fĂĽr Multi-Plattform-Projekte mit Kotlin
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.
Verkettete Aufrufe und Nullability
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.
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.
Weniger Overhead beim Debuggen
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.
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)