IntelliJ IDEA 2016.3 EAP: Polyglot Maven, Grails View, Inspections and More

Posted on by

Say hello to the fresh IntelliJ IDEA 2016.3 EAP build, which brings several new features worth checking out.

Support for Polyglot Maven

First of all, we’ve added the support for Polyglot Maven. In case you don’t know, 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.

Apart from that you can work with the projects that use Polyglot Maven just as with any other Maven projects.

The Show Effective POM action works as usual and is especially useful if you want to see how Maven interprets the DSL.

Building Groovy resources

Speaking about Groovy, we’ve added actions that build Groovy files located in resource folders. They’re available via the main menu Build → Groovy Resources. Build Resources is incremental while Rebuild Resources builds from the scratch.

Grails view

The Grails developers will be happy to know that the Grails view is back for Grails 3. Now, instead of a tool window, it’s tab inside of the Project tool window:

Artifacts are grouped by their type and reside outside of the sources folder. If you define a class within the src/main/groovy source folder and annotate it with @Artifact(“Controller”), the Grails view will show it under the Controllers node.

All the Project tool window settings are applicable to the Grails view as well, including Flatten Packages.

Items under the Plugins node (always the last in the list) navigate to the corresponding GrailsPlugin class.

Inspection that inlines local variables used only by return statements

IntelliJ IDEA has many inspections aimed at making code shorter and simpler. In this EAP build, we’ve added one more that we hope you’ll find useful.

The new inspection finds local variables used only by return statements, and provides a quick fix that inlines these variables–by replacing their assignments with return statements.

When the returned value can’t be inlined into return statement, the quick fix attempts to move the return statement as close to the computation of the returned value as possible:

Adding runtime assertions for not-null-annotated code

IntelliJ IDEA’s compiler (Settings → Build, Execution, Deployment → Compiler) has an option to generate runtime assertions for the methods and parameters annotated with org.jetbrains.annotations.NotNull.

Starting now it supports non-JetBrains annotations as well–JSR-305 in particular. Click Configure annotations to change the default behaviour:

The blue arrows indicate which annotation is be used by the IDE in inspections. Use the Check button to change them.

Here we’d like to thank Vladimir Dolzhenko who contributed to this improvement.

Resource bundle editor showing unused properties

The Resource Bundle editor now tells which properties are unused in the project:

Spring Initializr

Layout of the Spring Initializr has been reworked to fit more items and provide additional information. As a bonus, it now has the Search field.

Download the EAP build, give it a try and share your feedback with us. If you see something works not as it’s intended, write to our issue tracker.

Develop with Pleasure!