Early Access Program Features

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!

Comments below can no longer be edited.

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

  1. Avatar

    Ilya says:

    October 6, 2016

    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?

    • Avatar

      David Sure says:

      October 7, 2016

      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. Avatar

    popalka says:

    October 7, 2016

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


    • Avatar

      Dejan says:

      October 7, 2016

      I tried to expand your request (adding my POV to a new git tag log display)…alas, I received “this is a feature, not a bug” answer 🙂

      @JetBrains: no hard feelings, I will get used to it after some time 🙂

      If anyone else wants to chip in, here is the issue link: https://youtrack.jetbrains.com/issue/IDEA-162214

  3. Avatar

    Onno van Paridon says:

    October 7, 2016

    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.

    • Avatar

      Stephen says:

      October 10, 2016

      Yes! That was one of the first things I noticed, too.

  4. Avatar

    Andrii says:

    October 7, 2016

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

    • Avatar

      Andrey Cheptsov says:

      October 11, 2016

      You’re right. Sorry about that.

      • Avatar

        mikeb says:

        October 24, 2016

        Perhaps the animated images can be a link to a page or popup that has the before & after code so the transformation can be studied at leisure.

  5. Avatar

    popalka says:

    October 7, 2016

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

  6. Avatar

    Frederik says:

    October 10, 2016

    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. Avatar

    jojo says:

    October 11, 2016

    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 !

Discover more