/ Software-Entwicklung / IntelliJ IDEA 2017.2 hat ein Moduldiagramm für Java 9

IntelliJ IDEA 2017.2 hat ein Moduldiagramm für Java 9

Gerfried Steube on June 22, 2017 - 10:48 am in Software-Entwicklung

Die kommende Version der Java-Entwicklungsumgebung von JetBrains soll bis zum Release keine neuen Features mehr bekommen und ist jetzt als Public Preview verfügbar. Neu ist unter anderem eine Ansicht der Module in Java 9.

JetBrains hat eine öffentliche Vorschauversion von IntelliJ IDEA 2017.2 herausgegeben. Das Team hat bereits vor zwei Wochen ein Feature Freeze angelegt, sodass bis zum Release lediglich Bugfixes geplant sind. Zu den Neuerungen gehören zahlreiche Hilfen im Editor, aber auch Erweiterungen beim Debugger und der Integration des Testwerkzeugs JUnit 5.

Statische Codeanalyse und Komfortfunktionen

Die Macher haben die integrierte statische Codeanalyse verbessert. Sie erkennt jetzt unter anderem, wenn Collection-Objekte zur Laufzeit stets leer sind oder der Zugriff auf einen char innerhalb eines String über charAt(int index) entweder auf einen leeren String oder jenseits der Länge des Strings erfolgt. Des Weiteren analysiert die IDE die Methoden get(int index) von List– und contains(Object item) von Set-Objekten. Bei Map-Objekten greift sie für die Methoden containsKey(Object key) und containsValue(Object value).

Die IDE warnt unter anderem, wenn bestimmte Elemente zur Laufzeit immer leer sein werden.
Die IDE warnt unter anderem, wenn bestimmte Elemente zur Laufzeit immer leer sein werden. Vergrößern
Bild: JetBrains

Darüber gibt es neue Funktionen zum Extrahieren. So kann die IDE Variablen innerhalb eines map-Aufrufs der Stream API als separaten map-Aufruf extrahieren. Neu ist auch die Funktion Extract Functional Variable als Pendant zu Extract Functional Parameter.

Java 9 im Fokus

Einige Funktionen sind auf Java 9 ausgelegt: So schlägt die Entwicklungsumgebung unter anderem vor, bestimmte while-Schleifen, die über volatile Felder laufen durch die Methode Thread.onSpinWait() zu ersetzen. Ebenso findet sie Konstrukte zum Befüllen von Set-Objekten über die add()-Methode und bietet an, sie durch Set.of(items) zu ersetzen.

Dem Modulsystem von Java 9 sind die neu eingeführten Module Diagrams geschuldet. Sie bieten eine Übersicht über die Abhängigkeiten zwischen den verwendeten Modulen. Eine Suchfunktion hebt einzelne Module mit ihrer Nutzung und den Abhängigkeiten hervor. Das Diagramm deckt dabei auch die Module des JRE (Java Runtime Environment) ab.

JetBrains
Ein Blick auf java.jnlp im Moduldiagramm Vergrößern
Bild: JetBrains

Debugger und Unit-Tests

Zu den Neuerungen im Debugger gehört eine Filterfunktion für Arrays und Collections, die unter anderem die jeweils enthaltenen Strings über Methoden wie startsWith() filtert. Der neue Java Stream Debugger zur Visualisierung von Stream-Operationen ist nicht Bestandteil von IntelliJ IDEA selbst, sondern als separates Plug-in erhältlich.

Nachdem bereits das im März erschienene IntelliJ IDEA 2017.1 auf JUnit 5 vorbereitet war, orientiert sich das kommende Release am M4-Build und führt einige Anpassungen durch, die vor allem den Änderungen in JUnit 5 gegenüber den vorherigen Builds geschuldet sind. Unter anderem untersucht die IDE die @ParameterizedTest– und @RepeatedTest-Blöcke und warnt unter anderem bei fehlenden Definitionen.

Weitere Neuerungen, darunter Ergänzungen zu Gradle und Hilfen beim Einsatz der Reflection API, lassen sich dem Blogbeitrag entnehmen. Sowohl die kostenfreie Community Edition als auch die kommerzielle Ultimate-Variante von IntelliJ 2017.2 sind über die Preview-Seite verfügbar. (rme)

Read more on: Source

Comments are disabled