Fresh EAP with Refactorings to Java 8, Better VCS and Gradle Integrations

A new IntellIJ IDEA 2016.3 EAP build is out and ready to try. Other than the usual amount of bugfixes, it brings a couple of noticeable improvements.

More Refactorings to Java 8

First of all, we continue with tuning the inspections that help refactor regular code into idiomatic Java 8.

Now, when it’s appropriate, IntelliJ IDEA will prompt to replace certain code with:

  • Map.computeIfAbsent.
  • Collections.removeIf:
  • Map.getOrDefault:

As you can see, such inspections can make code much shorter and easier to read. For instance, look at the sample from a real codebase:

Just as with any other inspection, these can be run in batch mode on any scope withing your project.

Better VCS Integration

Earlier we mentioned that the layout of the Log viewer has been reworked to made it more compact. With this build, we’ve stepped even further and redesigned the branch labels:

Labels have been moved to the right side and are now displayed in a more elegant way. As a result, there’s more space for displaying the commit messages. Also, we’ve decided not to show tag names in this mode. If a branch and its tracked branch are on the same commit, they are displayed as “origin & master” (instead of “origin/master” + “master”).

A subtle, yet helpful improvement is the full syntax highlighting for non-local revisions in the Diff and Merge dialogs:

To get it working, we’re building the PSI tree rather than relying on lexer tokens. As a nice side-effect, you get the code navigation here as well.

Also, we’ve added line markers to the Merge dialog to indicate actual changes to the base revision:

We believe this will make it easier to understand what changes are actually going to be applied.

Delegating IDE build/run actions to Gradle

Last but not least, for Gradle projects, we’ve added an option that delegates the native IntelliJ IDEA Build, Build Artifacts (both WAR and EAR) and Run actions to Gradle: Settings → Build, Execution, Deployment  → Build Tools  → Gradle  → Runner  → Delegate IDE build/run actions to gradle.

When this option is selected, all these actions are performed via corresponding Gradle tasks. The Run action is delegated to the dynamic Gradle JavaExec task configured according to the run configuration. Exploded artifacts aren’t supported yet, but we’re working on it.

That’s it for now. You’re welcome to give these new features a try by downloading the new build–just as your feedback is welcome in our issue tracker.

Develop with Pleasure!

About Andrey Cheptsov

Part-time dreamer. JVM/JavaScript geek. IntelliJIDEA Marketing Manager at JetBrains.
This entry was posted in EAP Releases, New Features and tagged , , , , , , . Bookmark the permalink.

12 Responses to Fresh EAP with Refactorings to Java 8, Better VCS and Gradle Integrations

  1. Ilya says:

    I don’t like this change of branch labels. Currently labels are collapsed and abbreviated even if there’s enough space in the log.

    Maybe you could leave it for user himself to decide what is more important — labels or commit message?

    • David Sure says:

      I find the tag label confusing – it’s not a tag but a branch. The previous formatting – with different background colors and a rectangle around the branch name made it very easy to quickly spot branches visually. Now they’re just text with a tag icon next to it. Yes, I could get used to it, but for me, this makes it harder to read. I would also prefer the branch labels to be on the left side (configuration option).

  2. popalka says:

    Reported IDEA-162214
    “Cannot view full branch names in a glance with new compact git log view in #IU-163.5644.15”

    Screenshot:
    https://youtrack.jetbrains.com/_persistent/Selection_031.png?file=74-349482

  3. Onno van Paridon says:

    I can no longer create plain text scratch files with this EAP build. As I use them very extensively this is a real deal breaker.

  4. Andrii says:

    Animation is too fast ((
    It takes minutes to understand what had been written before re-factoring, and how it became after.

  5. popalka says:

    REST client plugin is broken in this build.
    Relevant EA report is https://ea.jetbrains.com/browser/ea_reports/1217802

  6. Frederik says:

    Since the first IDEA 2016.3 EAP I keep getting errors when loading TypeScript projects

    com.intellij.openapi.project.IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation

    https://ea.jetbrains.com/browser/ea_reports/1221279 and 1218352 and 1214635

    Any chance these could be fixed in the next build?

  7. jojo says:

    When I disconenct my laptop from the docking station all intelij windows close.
    Laptop is IBM thinkpad t440. It happens randomly running on windows 8.
    I suffer from this problem for a year or more!!!
    I have a license !

Leave a Reply

Your email address will not be published. Required fields are marked *