IntelliJ IDEA 2016.3 Public Preview
A new version of IntelliJ has been released that includes excellent features for refactoring Java 8, JVM Debugger, and Code Editor, along with updated build tools.
Join the DZone community and get the full member experience.Join For Free
There's an old saying: “time flies when you’re having fun.” By that measure, the past three months have been a lot of fun! Today, it’s time to give you a glimpse of what has kept us having fun (and busy): IntelliJ IDEA 2016.3, the next update planned for this fall, is available as a public preview. Everyone is very welcome to download and try its new features, and of course, we’re eager to hear your feedback on it.
Here’s a list of the most notable changes in the update.
- Refactoring to Java 8. Since Java 8 was released, IntelliJ IDEA has been providing inspections that help write correct and idiomatic Java 8. With this update, we’ve gone further and extended our existing inspections to support non-trivial cases. Now, if you click Alt+Enter inside a non-trivial for-loop, the IDE will prompt you to replace it with a chain of the stream API calls. The quick-fix will leverage count, flatMap, map, mapToInt, collect, filter, anyMatch, and other APIs if necessary. Learn more here. Also, when appropriate, the IDE will prompt you to replace certain code with Map.computeIfAbsent, Collections.removeIf and Collections.getOrDefault. Learn more here.
- Inspections with no-highlighting policy. We’ve added a new severity value for inspections: no highlighting. In this mode, the Editor doesn’t highlight the code with warnings or errors but does provide quick fixes. This is similar to intention actions, but inspection quick fixes can be applied to multiple files at once, which makes them a lot easier to apply. Many existing intention actions have been made into such quick-fixes.
- Class-level watches. This powerful new feature lets you define Watch expressions on the class level. These watches appear as extra fields of the class, but their value is evaluated based on your expressions. An expression for class-level watches is defined in the context of the class.
- Memory view. This is a new plugin that lets you explore objects in the JVM heap during a debug session. It shows you the total number of objects in the heap grouped by their class name. As you step over the code, the Diff column shows how this number changes between debugger stops. Double-click a class name to open a dialog with instances of this class. Learn more here.
- Parameter hints. This new feature, enabled by default, shows the names of method parameters for passed values that are literals or nulls. These hints make code more readable. If you find hints redundant for certain methods, you can tell the IDE to hide hints for these methods. Learn more here.
- Semantic highlighting, previously introduced in KDevelop and some other IDEs, is now available in IntelliJ IDEA. It extends the standard syntax highlighting with unique colors for each parameter and local variable. This feature is disabled by default but can be found in Settings → Editor → Colors & Fonts → Language Defaults → Semantic highlighting.
- Delegate IDE build and run actions to Gradle. This allows you to delegate the native IntelliJ IDEA Build, Build Artifacts (both WAR and EAR) and Run actions to Gradle. When this option is enabled, all of these actions are performed via the corresponding Gradle tasks. The Run action is delegated to the dynamic Gradle JavaExec task configured according to the run configuration. To enable this option, check Settings → Build, Execution, Deployment → Build Tools → Gradle → Runner → Delegate IDE build/run actions to Gradle. Learn more here.
- Gradle composite builds. This is a new powerful option that lets you substitute any of your Gradle dependencies with another project. This feature requires Gradle 3.1 or higher. Learn more here.
- Polyglot Maven. This is a set of Maven extensions that allows the POM file to be written in Groovy, Scala, Ruby, and other languages. While project import works for any language, coding assistance within POM files is available only for Groovy. Learn more here.
- Instant Run. The update has brought many stability and reliability improvements to Instant Run. If you have previously disabled it, the Android team encourages you to re-enable it.
- APK Analyzer. This lets you drill into your APK to help you reduce your APK size, debug 64K method limit issues, view contents of Dex files, and more.
To download the preview build (available in both IntelliJ IDEA editions) and to learn about other improvements in the update, go to our website. As always, your feedback is very appreciated in our issue tracker!
Published at DZone with permission of Andrey Cheptsov, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.