IntelliJ IDEA 2016.3 EAP: Faster Git Log, Parameter Hints and More

Andrey Cheptsov

Hooray! Fresh IntelliJ IDEA 2016.3 EAP build is out! Among the numerous bugfixes, this build addresses one of the issues that prevented it from being used on macOS Sierra. Users of macOS Sierra, we’re kindly asking you to thoroughly test this build and let us know if the problem is gone.

Faster Search in Git Log

The new build brings a dramatic speed improvement to searching thru Git Logs, particularly for the Text, Author and Path filters.

Now, after the project has been opened (for the first time) and all the important startup tasks are completed, IntelliJ IDEA scans all repositories and builds indexes for all commits. This takes a while (for a large project like IntelliJ IDEA itself, it takes approx. 15 mins). During this time the search speed is the same as before, but after the index is built, the search results appear almost immediately. Each refresh triggers an incremental update of the index, so you won’t be spending much time on it.

Managing Git remotes

Also, we’ve finally added a way to manage Git remotes: via VCSGitConfigure Remotes. Now you can add, edit and remove remotes for every repo in the project:

Note that adding a remote is also available in the Push dialog.

Parameter hints

The editor has also got a notable improvement—parameter hints for literals and nulls used as method arguments. These hints make code much more readable:

Without these hints, understanding the semantics methods like this would be much harder:

Note that these hints are not displayed for:

  • Methods with one or less arguments.
  • Arguments shorter than 3 characters.
  • Paired arguments: e.g beginIndex and endIndexstartOffset and endOffset, etc.

This feature is still experimental and we appreciate your feedback on it very much.

More accurate inspections for the Optional type

Inspections that check for the correct use of the Optional type have been rewritten to use data flow analysis for better accuracy:

Conditional breakpoints

The icon for conditional breakpoints has slightly changed and now has a small question mark:

Spring

Spring-wise, we’ve added support for meta-annotations based on @RequestMapping: e.g. @GetMapping, @PostMapping and custom user annotations.

Hibernate

The last but not least, the support for Hibernate has been updated to 5.2.

Download the EAP build if you want to give these new features a try. Your feedback as always is very welcome in our issue tracker.

Develop with Pleasure!

Comments below can no longer be edited.

31 Responses to IntelliJ IDEA 2016.3 EAP: Faster Git Log, Parameter Hints and More

  1. Jeff says:

    September 28, 2016

    Can you make regex search work in the git log? Currently only supports some subset of regex.

    • Jeff says:

      September 28, 2016

      I guess I should have tried the EAP! This regex now works and didn’t work in previous versions ^((?!maven-jgitflow).)*$

  2. George Andrianakis says:

    September 28, 2016

    Great stuff as always!

    One question, is the “Parameter hints” feature only available for Java source code?
    I tried it on Groovy and Kotlin code as well, but the editor didn’t seem to provide the hints.

    Thanks

  3. Alex says:

    September 28, 2016

    I really like the parameter hints – makes calls much more readable.
    And a feedback on this blog post: gif in Faster Search in Git Log has the annoying circle around mouse pointer – if it is possible, please get rid of that circle.

  4. Henning says:

    September 28, 2016

    I pretty much immediately turned the parameter hints off:
    * They require an extra cursor press to go over – ideally, the cursor would skip them entirely, considering the direction of the movement.
    * They make style-conformant code look like the line length is too long (over the right margin)

    I’m also not sure, that I need them everywhere. I know pretty well that the first parameter to logger.debug() is the message…

    Maybe have an option to enable them separately for methods in the project/libraries/jdk/…?

    • Alex says:

      September 28, 2016

      Good points. I’ve got another one:
      * Block editing totally breaks visually with parameters on.

      I still think the feature is very usable, it would be nice to be able toggle these on/off quickly via shortcut.

    • Dmitry says:

      September 29, 2016

      I came here to comment about no need for the hint in logger.debug().

      Other possible candidates:
      – expected value in assertEquals()
      – message in any of the assert*() methods
      – format and args in String.format()

    • TWiStErRob says:

      September 29, 2016

      Opened issue for extra cursor press: https://youtrack.jetbrains.com/issue/IDEA-161869

  5. Kamil says:

    September 28, 2016

    Parameter hints are great
    ideally BigDecimal and Long.valueOf() would be considered as literals

  6. Andrei Verdes says:

    September 29, 2016

    Hello! Are the AndroidStudio 2.2 changes merged into this build? If not, when are they planned to be merged? 😀 Thanks!

    • Andrey Cheptsov says:

      October 4, 2016

      Already working on it. Hope to see it merged to 2016.3 soon.

  7. Baron Roberts says:

    September 29, 2016

    We are excited about what we see in 2016.3 EAP. Can you give a hint as to when in Autumn it is likely to go GA (e.g. early October, mid December, etc)?

    Thanks,
    Baron

    • Andrey Cheptsov says:

      October 4, 2016

      Early November I believe.

  8. A says:

    October 1, 2016

    Hi,

    I’m seeing significantly increased CPU usage with the latest few 2016.3 EAPs, especially noticeable in this one. It’s as if the IDE is periodically reindexing my complete project even though it doesn’t need to. >= 500% CPU (as reported by OS X’s Activity Monitor), no Maven re-imports or code indexing reported by the IDE.

    I know it’s an EAP, but maybe you could look at this nevertheless? I’d file a bug ticket but I don’t know how to reproduce or measure this.

    OS X 10.10.5 Yosemite, 2,2 GHz Core i7, 16GB RAM

    IntelliJ IDEA 2016.3 EAP
    Build #IU-163.5219.11, built on September 27, 2016
    JRE: 1.8.0_112-release-b403 x86_64
    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

  9. Anton says:

    October 8, 2016

    What font is used in the editor on the screenshots?

  10. Louis says:

    October 24, 2016

    I love the parameter hints, what a good idea!

    I do wish that they didn’t make the lines so long though. It might be good if the names showed up above the parameters instead of inline with them.

    A key similar to command + hover javadoc popup over the function name that would show the parameter names only would be neat.

  11. Achim Herwig says:

    November 10, 2016

    I’d appreciate if any String parameters would be covered and not only those called with literals.

  12. Pavel says:

    November 22, 2016

    Do I understand right that “parameter hints” feature works only for Java?
    If so, any plans on supporting other languages, for instance ActionScript [Flash, no jokes:)]?

  13. J. B. Rainsberger says:

    November 23, 2016

    It’s a neat feature, but I would expect a menu item somewhere to turn it off. I can’t find one. It seems strange to need to assign a keystroke in order to use it.

    • J. B. Rainsberger says:

      November 23, 2016

      …oops. I meant the parameter hints.

      • J. B. Rainsberger says:

        November 23, 2016

        ….and of course, now, I find the setting. Ignore me. Thanks.

        I really do like the feature; I would use it with legacy code. It was a surprise when I noticed it during a demo. 🙂

  14. Font Guy says:

    December 8, 2016

    What font is used? It’s amazing and beautiful.

  15. Alex says:

    December 10, 2016

    I have problems with Hello World on my macbook pro 2016 MLH32. Debug is starting for 10 seconds. I couldnt believe it.

  16. Andrew Ballinger says:

    December 13, 2016

    Just got my hands on the new parameter hints.

    Hate ’em! Broke my vim integration, they dance in and out as the parser works, and the animations are asinine! Couldn’t shut them off fast enough.

    —- Warning: Full rant engaging —-

    Not being able to tell what a parameter in your code does seems like a personal problem… Especially when there are a half dozen ways to pull up the documentation or jump to the code in question. If you’re dealing with a poorly written method, do you really believe that the name of the parameter is going to save you?

  17. Adam Toth says:

    December 22, 2016

    I really really like it. This is the most exciting and useful upgrade since I’m using intelliJ! Although I really wish there was an option to enable it for non-literals too, Isn’t always obvious what a variable is used for in a method with 5+ parameters.

  18. Mike Furlender says:

    December 28, 2016

    I love the parameter hints, but I can’t find a way to change their foreground/background color. Please implement it if it is not yet implemented!

    • Dmitry Batrak says:

      December 29, 2016

      Search for ‘parameter hints’ in settings screen.

  19. Daniel Wegener says:

    July 3, 2017

    Could you guys please set OptionalUsedAsFieldOrParameterType enabledByDefault to false?

  20. Lauma says:

    October 14, 2017

    I like parameter hints, but I want to make them a bit smaller compared to the rest of the text. Can I decrease font size?

Subscribe

Subscribe for updates