Alle Infos rund um die Verbesserungen von IntelliJ IDEA 2018

IntelliJ IDEA 2018.2 EAP veröffentlicht: Unterstützung für MacBook Touch Bar & Java 11

Dominik Mohilo, Marcel Richters

© JetBrains

IntelliJ IDEA ist eine Entwicklungsumgebung von JetBrains für Java, Kotlin, Groovy und Scala. Gemeinsam mit der Eclipse IDE und NetBeans konkurriert sie seit 17 Jahren um die Gunst der (Java-)Entwickler. Mit IntelliJ 2018.2 EAP wurde nun die Testphase zum zweiten Major Release 2018 eingeläutet.

Update vom 18. Mai 2018

IntelliJ IDEA 2018.2 EAP: Unterstützung für die MacBook Touch Bar und mehr Inspektionen

Quelle: JetBrains.

Knapp eineinhalb Monate nach der Veröffentlichung von Version 2018.1 ist jetzt IntelliJ IDEA 2018.2 im Early Access Program erschienen. Das Major-Update bringt einige Neuerungen mit sich.
Wer ein MacBook zum Programmieren nutzt, dürfte sich über den jetzt eingeführten Support für die Touch Bar freuen. Kontexte können angepasst werden, es sind aber auch bereits beliebte Kontexte integriert. Die Anpassung der Touch Bar für IntelliJ erfolgt über Preferences | Appearance & Behaviour | Menus and Toolbars.

Java

Im Java-Bereich dürfte besonders die Codevervollständigung für viele Interessant sein, die IntelliJ überarbeitet hat. Neben dem gleichzeitigen Anzeigen von Vorschlägen für die Vervollständigung und die Javadoc wird jetzt der Collectors.joining() collector für den String Stream genauso vorgeschlagen, wie das Falten von Boolean-Ausdrücken mit mehr als drei Stream-Elementen. Das funktioniert bei &&-Ketten, ||-Ketten und einigen +-Ketten.

IntelliJ

Vorschläge für die Vervollständigung und Javadoc können jetzt gleichzeitig angezeigt werden. Quelle: JetBrains.

Mitglieder bekannter Super-Typen und bekannte Datenflussinformationen werden direkt im Editor angezeigt. Inspektionen wurden für Änderungen im Java-10-API angepasst, außerdem werden jetzt die folgenden Java-10-Kollektoren unterstützt: toUnmodifiableList, toUnmodifiableSet, toUnmodifiableMap.

Schon in IntelliJ IDEA 2018.1 wurden Inspektionen für redundante String-Operationen in der Redundant String-Operationsinspektion zusammengefasst. Die Unnecessary call to ‘String.valueof’-Inspektion wurde in Unnecessary conversion to String umbenannt und erkennt jetzt auch unnötige Aufrufe von statischen toString()-Methoden.
Die Formatierung und Editierung von Java wurde ebenfalls überarbeitet, auch der Support für Java 11 ist für IntelliJ IDEA 2018.2 vorgesehen. Details dazu soll es in naher Zukunft geben.

Gradle

Gradle-Skripte lassen sich jetzt debuggen, dies ging zuvor nur mit build.gradle-Dateien als Groovy-Skript. Breakpoints können mit der neuen Version der Entwicklungsumgebung nicht mehr nur am Beginn, sondern auch in den Gradle-DSL-Blocks gesetzt werden.

Daneben haben die Entwickler eigenen Angaben nach weitere Verbesserungen am Gradle Debugging vorgenommen. Von der Verbindung zum Gradle daemon bis zur automatischen Einbeziehung von buildSrc-Gradle-Projekten reichen die Verbesserungen.

Weitere Änderungen

Auch die Arbeit mit Maven, Spring und Spring Boot wurde angepasst. Bei Spring-Projekten soll es jetzt zu einer merklichen Verbesserung der Performance kommen. Daneben lassen sich Abhängigkeiten mit dem neuen Diagram Mode betrachten und HTTP Request Mappings lassen sich im Run-Dashboard managen. Spring Runtime Beans lassen sich ebenfalls anzeigen, sogar für eine komplette Anwendung.

Spring Runtime Beans können als Diagramm für die gesamte Anwendung angezeigt werden. Quelle: JetBrains.

Umfangreiche Neuerungen hat die Versionskontrolle erhalten. Insbesondere Merge-Konflikte lassen sich mit IntelliJ IDEA 2018.2 EAP besser erkennen. Diese werden in der IDE in jeder Änderungsliste zusammengefasst, lösen lassen sie sich mit einer einfachen Resolve-Funktion. Beiträge lassen sich jetzt nach favorisierten Branches sortieren. Passend dazu bietet IntelliJ IDEA jetzt auch Unterstützung für mehrere GitHub-Accounts, für jedes Projekt lassen sich Standard-Accounts anlegen.

Für die Arbeit mit JSON bietet IntelliJ IDEA Unterstützung für schema v4, schema v6 und schema v7. Das benötigte Schema kann mittels Drop-Down in der Statusleiste gewählt werden. Breadcrumbs für Editoren können in Form eines qualifizierten Namens oder eines JSON-Pointers kopiert werden. Um zu testen, ob eine JSON-Datei mit dem angewandten Schema zusammenpasst, wurde eine neue Inspection hinzugefügt.

Neben diesen sind noch einige weitere Neuerungen und Fixes Teil von IntelliJ IDEA 2018.2, auch ist die native Unterstützung von Kotlin 1.2.40 im EAP Build enthalten. Genauere Informationen zum Update finden sich auf dem Blog von JetBrains, der Download ist ab sofort verfügbar, genauso wie die Release Notes mit allen Details.



Update vom 28. März 2018

IntelliJ IDEA 2018.1 GA: Das sind die neuen Features und Verbesserungen

Quelle: JetBrains

Das lange Warten hat ein Ende. Noch gerade so im ersten Quartal des Jahres veröffentlicht das Team von JetBrains die erste Major-Version der Entwicklungsumgebung IntelliJ IDEA. Das Update bringt wie immer eine große Anzahl an Bugfixes und neuen Features mit sich, außerdem wurden die User Experience und Optik der IDE verbessert – insgesamt wurden knapp 2500 Issues behandelt. Thematisch wichtigster Bereich ist natürlich die Java-Entwicklung, aber auch Entwickler, die mit anderen JVM-Sprachen wie Scala, Groovy und Kotlin arbeiten, können sich freuen.

Java und JVM-Sprachen

Entwickler, die die IntelliJ IDEA 2018.1 vorranging zum schreiben von Java Code verwenden, haben nun die Möglichkeit, individuelle Postfix Java Templates zu definieren, außerdem können Testklassen mit dem Präfix Test generiert werden. Auch in Bezug zum Testen von Quellcode steht natürlich die Unterstützung der @Tag-Annotation von JUnit 5. In Stream-API-Ketten ist die Code-Vervollständigung seit dem Update in der Lage, Type Casting zu erkennen und schlägt dementsprechend passende Vervollständigungsmöglichkeiten vor. Beim Nutzen des JVM Debuggers gibt es nun die Option, während des Debuggings eine Ausnahme (Exception) auszulösen. Optional ist hingegen die Version des verwendeten Eclipse Compiler for Java (ECJ): Die User können sich ihre gewünschte Version des ECJ frei aussuchen.

Groovy-Entwickler können sich entspannt zurücklehnen, jedenfalls wenn es um das Entdecken unnötiger Import-Aliase geht: Die werden von IntelliJ IDEA 2018.1 automatisch erkannt. Zudem können sämtliche Groovy-Klassen des Scopes mit der Annotation @CompileStatic ausgezeichnet werden.

Das Kotlin Plug-in wurde auf Version 1.2.30 aktualisiert und entspricht damit der aktuellsten Version der hauseigenen JVM-Sprache von JetBrains. Außerdem kann Code, der in Kotlin verfasst wurde, nun direkt in ein Package eingefügt werden. Zu guter Letzt gibt es in Sachen Scala Inline Refactoring für Methoden mit Parametern, die Structure-Ansicht wurde überarbeitet (mit neuen Icons etc.) und die IDE gibt sogenannte Hints für Parameternamen und zurückgegebene Typen aus.

Editor und Allgemeines

Der Editor ist natürlich mit das Wichtigste an einer Entwicklungsumgebung. Die IDE zeigt in der neuen Version externe Annotationen standardmäßig innerhalb von Zeilen an und abgeleitete Annotationen können direkt im Quelltext angezeigt werden. Hält man die Alt-Taste gedrückt und betätigt das Mausrad nach oben bzw. unten, kann man durch die vorherigen oder nächsten Identifier navigieren.

Die strukturelle Suche wurde ebenfalls verbessert, außerdem kann man sich eine Vorschau für das Ersetzen durch einen regulären Ausdruck im Fenster Replace in Path anzeigen lassen. Die neue Option Include dependencies with „provided“ scope soll die Projektkonfiguration erleichtern und im Menü Project Structure gibt es seit IntelliJ IDEA 2018.1 den neuen Punkt Change Module Names….

Weitere Neuigkeiten

Mobile-Entwickler, die sich mit Android befassen, können vom Merge mit Android Studio 3.0 profitieren, wer TypeScript verwendet, kommt auch mit der IntelliJ IDEA nun in den Genuss der Features von Version 2.7 der Sprache. Die Datenbank MariaDB wird aktuell ebenfalls unterstützt, genau wie externe Schemata in Redshift. Neu ist hingegen der SQL Logdaten-Editor.

Die Welt der Container ist natürlich auch für JetBrains nicht fremd: Docker Compose wird mit dem neuen Major Release noch besser unterstützt und auch der Kubernetes Support hat einige Verbesserungen erfahren. YAML-Ressourcendateien von Kubernetes werden in der Entwicklungsumgebung von JetBrains ab sofort reichhaltig unterstützt, basierend auf JSON Schema gibt es gleichermaßen grundlegenden Support für JSON-Ressourcendateien.

Sämtliche in diesem Thread behandelte Änderungen und Verbesserungen der Testversionen (EAP- / RC-Versionen) von IntelliJ IDEA 2018.1 sind ebenfalls Teil des finalen Releases. Eine vollständige Liste der Highlights von IntelliJ IDEA 2018.1 gibt es auf dem Blog von JetBrains, sämtliche Release Notes sind hier einzusehen.



Update vom 23. März 2018

IntelliJ IDEA 2018.1 RC1 & RC2: Besserer Spring Boot Support & Bugfixes

© JetBrains

Mit dem ersten Release Candidate von IntelliJ IDEA 2018.1, der am 13. März veröffentlicht wurde, gab es einige Verbesserungen in Bezug auf die Spring-Boot-Integration. Die Entwicklungsumgebung zeigt nun alle im Applikationskontext im Beans-Tab des Run-Dashboards registrierten Beans an. Darunter fallen Kontext-Java-Beans (@Bean), Stereotype Beans (etwa @Configuration) und in XML-Dateien definierte Beans.

Die Informationen sind, Dank der Überarbeitung durch das Team von JetBrains, nun auch im Editor verfügbar und die neuen Gutter-Icons werden in der Nähe der von der Laufzeit genutzten Beans angezeigt. Per Klick auf eines dieser Icons (siehe Bild) kann man zu den jeweils abhängigen Beans navigieren.

Die neuen Gutter-Icons für Beans / Quelle: JetBrains

Da das JDK auf Version 1.8.0_152-release-1136-b20 x86_64 aktualisiert wurde, hat das Team von JetBrains für die IntelliJ IDEA 2018.1 RC 1 ebenfalls ein paar Fixes durchgeführt. So wurden etwa das Logging der Grafik-Primitiven erweitert und das UI ist nicht mehr beschädigt nach einer Änderung der DPI.

Die Spalten im Diff Viewer können seit dem ersten Release Candidate der Entwicklungsumgebung skaliert werden. Der zweite Release Candidate brachte nur wenig Neues, allerdings einen wichtigen Fix für die Tree-Implementierung der Projekt- bzw. Paketansichten (IDEA-188699.

Die vollständige Übersicht für Änderungen im ersten Release Candidate gibt es hier, die des zweiten finden sich hier. Die aktuellen Änderungen am JRE gibt es hier zu finden.



© JetBrains

IntelliJ IDEA 2018.1: Fünf EAP-Builds seit Januar

Im Hause JetBrains beginnt man das Jahr gewohnt fleißig: Der Februar ist noch nicht vorbei und schon gibt es fünf EAP-Builds, die Entwickler zum Testen und Ausprobieren einladen. Dabei wurde sich, auch das kennt man, nicht nur an bestehende Features herangewagt und um lästige Bugs gekümmert, sondern die Enwicklungsumgebung um reichliche neue Funktionen erweitert. Die erste Testiteration wurde am 19. Januar veröffentlicht und brachte neue Features für Java, JUnit, den JVM Debugger, die Spring-Integration und den Bereich Versionskontrollsysteme mit. Spätere Releases des EAP-Programms befassten sich dann mit Spring Boot, der Projektkonfiguration und der Code-Generierung.

Java & JVM Debugger

IntelliJ ist eine Java IDE, daher verwundert es wenig, dass an allererster Stelle der Verbesserungen, das Java Tooling steht. Für das erste Major des Jahres wurde die Codevervollständigung aufgebohrt und eine Reihe neuer Inspections sorgt dafür, dass der Entwicklungsumgebung automatisch noch mehr Fälle auffallen, wo redundante Code-Konstrukte genutzt werden. Am Ende können sich Entwickler über klareren, saubereren Code freuen. Übrigens wurden die Inspections Redundant 'String.toString()', Redundant 'substring(0)' call und Call to 'intern()' on String constant in eine einzige Inspection gemerged (Redundant String operation). Dabei werden auch neue Szenarios abgedeckt (etwa StringBuilder(""), sb.append("") oder System.out.println("")).

Unnötig komplexe Collection-Operationen werden ab IntelliJ IDEA 2018.1 dem Nutzer deutlich gemacht, die IDE stellt dafür Quick Fixes zur Verfügung und empfiehlt automatisch einfachere Herangehensweisen. Gewarnt werden Nutzer mit der neuen Version auch über unendliche Streams, die nicht „short-circuited“ wurden, da dort die Gefahr besteht, dass der Code in einem unendlichen Loop endet oder man der Speicher irgendwann in die Knie geht. Auch bei Änderungen bzw. Modifizierungen von unveränderlichen Collections warnt IntelliJ den Nutzer jetzt. Neu sind auch die Möglichkeit, sogenannte Java Scratch Files zu erstellen. Die IDE fügt automatisch eine Klassendeklaration und eine Main Method hinzu.

Warnung vor Modifizierungen an unveränderichen Objekten / Quelle: JetBrains Blog

Auch der JVM Debugger ist wieder im Fokus des IntelliJ-Teams gewesen. Ohne tatsächlich Code zum Projekt während einer Debugging-Session hinzuzufügen, können Nutzer ab sofort eine Exception auslösen. Dafür wird die neue Aktion Throw Exception genutzt, die es ermöglicht, von einem bestimmten Ort aus eine Exception auszulösen, ohne den Code zu verändern. Während des Debuggings kann man auf diese Aktion über das Menü Run | Throw Exception zugreifen.

IntelliJ IDEA 2018.1 bringt eine neue Checkbox für den Java Compiler mit (Use --release option for cross-compilation (Java 9 and later)), die standardmäßig aktiviert ist. Es wird zukünftig von der Entwicklungsumgebung erkannt, ob die Cross-Compilation benötigt wird, dann wird automatisch die Compiler-Option --release für Java 9 genutzt. Das Ganze lässt sich im Zweifel auch deaktivieren, etwa wenn man die Optionen --source und --target verwenden muss.

Versionkontrollsysteme

Bereits mit der ersten EAP-Version der IntelliJ IDEA 2018.1 wurde die Möglichkeit implementiert, während einer Suche nach einem bestimmten Git Branch einen Branch-Namen in das Pop-up Git Branches einzufügen. In besagtem Pop-up sind nun auch die Aktionen Abort Rebase, Continue Rebase und Skip Commit verfügbar. Im Log-Tab werden nun Hashes der Commits, auf die sich bezogen wird, gehighlighted. Mit einem einfachen Klick auf einen Commit-Hash kann man im Log-Tab zu diesem Commit springen (funktioniert mit Git und Mercurial).

Zudem wurde die SVNKit-Bibliothek aus der IDE geworfen, Subversion 1.6 wird also nicht mehr unterstützt und die Integration von Subversion ist nur noch über einen SVN Client möglich. Weitere Informationen zu diesem speziellen Punkt gibt es hier.

Spring & Spring Boot

Die neueste Version der IntelliJ IDEA bringt natürlich auch wieder reichlich Verbesserungen für die Integration des Spring Frameworks mit sich. Damit sind vor allem Features des neuen Spring 5 gemeint, also unter anderem die Unterstützung für Reactive (@EnableWebFluxSecurity, @EnableReactiveMethodSecurity, WebFlux Testing) und OAuth 2.0.

Auch Nutzer von Spring Boot können sich über einige neue Funktionen freuen. So erscheint nach dem Start einer Spring-Boot-Web-Anwendung ein neues Icon mit @RequestMapping-Annotationen im „Gutter“, die eingehende HTTP-Anfragen bearbeiten. Durch einen Klick auf das Icon werden sämtliche Mappings in einer Scratch-Datei mit .http-Erweiterung geöffnet, anschließend ist im Editor ein HTTP Request mit dem neuen REST-Client möglich.

Spring Boot Mapping / Quelle: JetBrains Blog

Weitere Änderungen

Das Test-Framework JUnit 5 hat von den Machern eine neue Annotation (@Tag) spendiert bekommen, die für das Markieren von Klassen oder Methoden genutzt werden kann. Damit soll das Filtern von Tests vereinfacht werden. Von dieser neuen Annotation können auch Nutzer der IntelliJ IDEA 2018.1 Gebrauch machen, die Unterstützung dafür wurde bereits implementiert. Templates für Testklassen lassen sich im neuen Major individualisieren, zudem lassen sich Testklassen mit „Test“ als Präfix erstellen.

Der Downloadprozess für Patches der IDE lässt sich in der aktuellsten Version im Hintergrund ausführen, die Arbeit muss dazu nicht unterbrochen werden. Der User Experience ebenfalls zuträglich ist, dass man bei gedrückter ALT-Taste mit dem Mausrad durch die vorhandenen Identifier scrollen kann. Und zu guter Letzt wurde auch die Unterstützung von Hochauflösenden Bildschirmen verbessert.

Weitere Informationen zu den jeweiligen EAP-Versionen gibt es auf dem Blog von JetBrains und zwar hier, hier, hier, hier und hier.

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.
Marcel Richters
Marcel Richters
Marcel hat Soziologie an der Goethe-Universität in Frankfurt am Main studiert und danach als E-Commerce-Manager gearbeitet. Seit Februar 2018 unterstützt er das Team von JAXenter als Redakteur. Daneben arbeitet er als freier Journalist in der Mainmetropole.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: