IntelliJ IDEA 16 EAP is Open

Posted on by Andrey Cheptsov

With Christmas around the corner, we have prepared a small gift for you: a sneak peek at IntelliJ IDEA 16. Starting today we’re switching to the cycle that includes several “average” releases per year, supported by bugfix updates (instead of having one major release per year followed by one minor update).

To start things off, we’re opening the IntelliJ IDEA 16 EAP which brings you a few goodies to make you a little happier.

v16_splash

IntelliJ IDEA 16 adds the support for RTL languages (Arabic, Hebrew) to the editor.

editor_rtl

The IntelliJ IDEA project model is finally aligned with that of Gradle and supports custom source sets, by resolving dependencies between individual source sets. This improvement fixes a great number of issues.

gradle_sourcesets

Also, IntelliJ IDEA now can resolve EAR artifacts defined in your build scripts and configures them automatically in the Project Structure.

gradle_ear

When you run a Gradle task, now you can toggle the view mode between tree and text output:

gradle_toggle

When you debug the code compiled without debug info, you will be provided with better name matching, and allowed to set and evaluate values for slot variables.

debug_slots

The debugger is now aware of that your current thread is being blocked by another suspended thread, and suggests to resume it.

debug_threads

Merging with Git and other VCS got a little bit easier with the added by-word difference highlighting.

vcs_merge

The Checkout Tag or Revision action is now applied to all repositories configured for the project.

For those who would like to migrate their Guava code to Java 8 APIs, we’ve added a number of quick-fixes that help to replace FluentIterable, Function, Optional, and Predicate with Java 8 analogues.

guava_quick_fixes

The last but not least, the Android Studio 1.4 features are now available in the IntelliJ IDEA 16 EAP. Android Studio 1.5 and further updates will be included soon.

Stay tuned for more details on these and other new features. Meanwhile, don’t forget to share your feedback in our discussion forum and the issue tracker.

UPDATES:

  • With IntelliJ IDEA 16 EAP IntelliJ IDEA and the whole IntelliJ platform migrates to Java 8.

Develop with Pleasure!

Comments below can no longer be edited.

88 Responses to IntelliJ IDEA 16 EAP is Open

  1. Andrzej says:

    December 21, 2015

    Support C#, god damn it.

    • Blackrush says:

      December 21, 2015

      I couldn’t agree more even with ReSharper still there 🙂

    • wener says:

      December 22, 2015

      I see you really hate VS.

      • Marius says:

        January 2, 2016

        It still has no emacs key binding support, so it is not really a good alternative, in addition to require MS Windows to run…

        • Boris says:

          October 13, 2016

          Learn vim 🙂

      • Daniel Alves says:

        January 6, 2016

        Well I love the VS and the Resharper but I want to be free of the Windows platform to develop and my Linux and OSX lacks a really good IDE for .NET.

        VS Code and Atom are doing a really good job but they are editors, not the amazing Intellij IDE. 😀

    • Reza Qorbani says:

      January 13, 2016

      I’m with you Andrezej 🙂 But here is a good news: https://blog.jetbrains.com/dotnet/2016/01/13/project-rider-a-csharp-ide

    • Lawrence says:

      January 14, 2016

      You could also abandon C# end start working with a real language… 😛
      (Relax, I’m just teasing you man 😉 )

  2. Gauthier P. says:

    December 21, 2015

    Nice !

    It’s me or there is a bit of changes in Darcula color scheme ? Some variables are in purple ( “),

    If yes, it’s very nice ! More colors for Java are welcome !

    • Andrey Cheptsov says:

      December 21, 2015

      Could you please attach a screenshot?

      • Gauthier P. says:

        December 21, 2015

        I saw it on your screenshot. For example, in the first screenshot about debugging (https://blog.jetbrains.com/idea/files/2015/12/debug_slots.png), the array variable is colored. ( “),

        • Andrey Cheptsov says:

          December 21, 2015

          In that sample “array” is a field, not an argument.

    • TWiStErRob says:

      January 1, 2016

      If you want more colors then change the color scheme. There’s a lot of semantic highlighting, the default scheme is rather just the bare minimum syntactic highlight.
      Check this one for example: http://imgur.com/F1SGV9C

      Sadly it’s still missing a lot of possibilities: un/boxing, local/field/array read/write, generics arg, super field, javadoc tag value, default methods
      Special color for null, return, boolean/byte/char/short/int/long/float/double constants.

    • Leo Zhekov says:

      March 21, 2016

      What if I told you that you can change the color of everything? I have different shades of green for abstract methods, inherited method and normal method call?

  3. Rainer Frey says:

    December 21, 2015

    A major release? I guess that means release dates will be later and EAP less stable … Was hoping to get Gradle source set support ASAP.

    • Andrey Cheptsov says:

      December 21, 2015

      Actually we would like to get rid out of the “major” and “minor” words at all. We simply want to release more often. I think the effect should be opposite: less probability of having a release postponed and more stability.

      • vahid hashemi says:

        December 30, 2015

        more release means more downloading? by more downloading I mean huge packages not only few couple of MBs.
        This is not an optimal way tbh

        • Andrey Cheptsov says:

          December 31, 2015

          I believe the optimal way would be to make it possible auto-update between major releases via small patches. This could solve the problem and we’re thinking of it.

          • TWiStErRob says:

            January 1, 2016

            @Andrey it would be about time, I’m on the EAP track and I have to reinstall the whole package every time there’s a “release”, the small update between builds of the same works just fine, but I had to reinstall between 15.0.2 EAP and 15.0.3 EAP, come on… please make it a higher priority, which issue can I vote for here?

        • Tropper says:

          January 11, 2016

          Obviously you never used Xcode …
          SCNR

  4. bughunter says:

    December 21, 2015

    I am not amused. One one the biggest arguments for the new license scheme was: more time for resolving bugs instead the need of implementing new features to get new customers. Now you start with a fast release cycle for new features. And bugs reported in Idea 14 will be there in 16. I am not amused, really.

    • Andrey Cheptsov says:

      December 21, 2015

      Please read my comment above. Probably I shouldn’t have used the word “major release”. It adds nothing but confusion. What we are really after is just stoping separating between feature- and bugfix- releases. This will let us to find balance between bugfixes and features for each release. I want to assure you that stability remains our primary focus. And this change is supposed to help us in it.

      • bughunter says:

        December 21, 2015

        But this way the fallback license is quite useless.

  5. Thierry Leveque says:

    December 21, 2015

    Yeah great! That means that my “life time license” for IntelliJ 15 will in fact end really soon! No more bug fixes for us???!!!
    Bad bad move! What is happening with you guys??

    • Andrey Cheptsov says:

      December 21, 2015

      Please read my comment above. I think I answered your question there.
      I’ve also updated the post to avoid possible confusion.

      • TWiStErRob says:

        January 1, 2016

        So hopefully it means that an IDEA 16 licence will be good for a longer time? or you are changing the versioning scheme like Firefox did and by the end of next year you’ll reach IDEA 25?

        • TWiStErRob says:

          January 1, 2016

          Heh, just read the next comment 🙂 So… yearly subscription stays, I’m still sad, what happened to the good old practice of buying a product and keeping it, like Windows?

  6. Michael K. says:

    December 21, 2015

    please DON’T start a firefox like versioning… don’t want to see IDEA v50 in 2 years…

    • Andrey Cheptsov says:

      December 21, 2015

      I think in 2016 we’ll have several 16/x releases, in 2017 we’ll have several 17/x releases, etc. In other words the first number means year.

      • Tian says:

        January 21, 2016

        this makes sense, and easy to remember.

  7. Pawel says:

    December 21, 2015

    “ideaIU-144.2151.16-custom-jdk-linux.tar.gz”
    What is that “custom JDK”?
    And why, why?

    • Andrey Cheptsov says:

      December 21, 2015

      It includes our fixes for better font rendering on Linux.

      • Barry says:

        December 22, 2015

        I’m seeing occasional corruption of the text rendering in some dialog pop-ups. I’d report it on youtrack, but I can’t reproduce repeatedly. Running on Linux, xhosted onto Windows.

      • Konstantin says:

        December 22, 2015

        it’s not better it’s perfect 😀
        http://i.imgur.com/Fq6dz0P.png

        • Alexey Ushakov says:

          December 22, 2015

          Could you provide some more info about your config? What linux version and hw config do you have?

          • Konstantin says:

            December 22, 2015

            kde 4 on ubuntu 12.04, nvidia + core i7,
            initial license check dialog was in metal swing theme with no fonts too, just radio buttons and super narrow button

            oracle jdk 1.8.0_66-b17 + idea 15.0.3 works with no problems

            • Mikhail Fursov says:

              December 22, 2015

              Have the same problem on Ubuntu 12.04 & Mate desktop.

              Solved by removing jre folder and switching to jdk 1.8.0_66-b17

      • Zach Callear says:

        December 22, 2015

        I had been using OpenJDK 8 with Infinality and the Infinality patches applied (on Arch Linux), and 15’s fonts looked better than how this now looks with the custom JDK. I’m not certain that it’s only due to the difference in JDK/JDK, though.

        • Zach Callear says:

          December 22, 2015

          I went ahead and commented out lines 60-65 of /opt/intellij-idea-ue-eap/bin/idea.sh and changed line 66 to “if” rather than “elif” (to use the system’s OpenJDK), and my fonts are back to looking nice.

          • Zach Callear says:

            January 13, 2016

            While the way I mentioned works, a more update-proof way of doing it, as the idea.sh expects, it to create a file at “~/.IntelliJIdea16/config/idea.jdk” containing the path to your JDK. In my case (Arch Linux), I used “/usr/lib/jvm/default”.

      • Mikel Pérez says:

        December 23, 2015

        You should look into TuxJDK for font rendering patches. They look perfect. your custom JDK neither respects DPI nor looks as good as tuxjdk

        also, there should be an option to download IDEA only and not the custom jdk as I’m happy with TuxJDK (…and looks better 🙂

      • PH says:

        December 28, 2015

        My favorite coding font, Consolas from MS, is still not displaying right at all with this new custom JDK.
        I have that font looking great (like on Windows) with tuxjdk (after fixing a bug in there). I’m on Ubuntu 14.04.3.

  8. James says:

    December 21, 2015

    Looks good! Will you be adding “Go To Class” for Java developers on Linux? We could really use this feature.

    • Ilya says:

      December 26, 2015

      How’s ctrl-n working for you?

      • Ilya says:

        December 26, 2015

        Apparently there’s some focus bug that I never experienced somehow on Ubuntu unity/cinnamon

        • Stan says:

          January 14, 2016

          I confirm the focus bug. When I press Ctrl-N, the focus remains in the Code Editor, so whatever I type to look up the class I want, actually messes my code.

  9. Edu Garcia says:

    December 21, 2015

    Just to change the tone of comments a bit, I really think this is a great IDEA (get it? :D).

    And I, for one, would like to see IDEA 50 in 2 years, whatever the numbering scheme is. I’m almost always on EAP to get access to features faster, like the aforementioned Gradle support, which I think it’s awesome, even if it means opening a ton of bugs now and then.

    Although I’d like to see a change on how bugs are fixed/triaged. For example, I reported the problem with the move dialog not working on the 14 EAP a whole 10 days before the release was built. That bug (which I think it’s not minor) shipped on that and further releases, and finally got fixed on the current 15 EAP, more than 3 months later. My point is, if you have an EAP for people to report bugs, maybe use that information to fix them or delay the release (or revert whatever caused the problem in the first place, that also works!)

    In any case, if this means moving faster for you and greater stability, I’m all for it, so keep up the good work 🙂

    • James says:

      December 21, 2015

      Agree that it’d be awesome to see some more bug fixes. Linux users have been without a working Go To Class since 2013 – a bug with over 70 votes and 20+ linked related bugs.

  10. Ling says:

    December 22, 2015

    Better support golang project? or dev an other IDE for golang?

  11. Ryan Greene says:

    December 22, 2015

    Go, Rust, or Haskell IDE please :)?

    • Gauthier P. says:

      December 22, 2015

      There is already plugins for all of this languages and I’m not sure that a dedicated IDE is really necessarily…

      Go plugin : https://plugins.jetbrains.com/plugin/5047?pr=idea
      A Rust plugin is on the way (created by JetBrains, or at least they are working on) : https://github.com/intellij-rust/intellij-rust
      Seeing the number of contributions, I think we can count on it to be a good plugin ! Maybe it’ll be integrated with CLion too ! 😀

      And there is multiple plugins for Haskell. I never tried them so I can’t advice concerning them.

  12. Nick Jacobs says:

    December 22, 2015

    Can you clarify what this means for someone like myself who had an old-style license for which I paid for another year for in early October 2015? Will I be able to license a IDEA 16 when it goes live? Or will I have to buy a subscription to get it?

    I think we all want to understand this better because people’s perception is that a major version update is something we’ve come to expect happens roughly once per year.

    Thanks. 🙂

    • Andrey Cheptsov says:

      December 22, 2015

      If you bought it in October you should have a year of free upgrades. In other words you’ll get any versions released before October, 2016, including the first version of v16.

  13. EmmanuelS says:

    December 22, 2015

    Update TypeScript to 1.7.5

  14. Andreas Falk says:

    December 22, 2015

    Are any further improvements planned for spring and spring boot?
    What I am thinking of are especially these ones:

    1. Add a spring boot dashboard similar to Spring Toolsuite 3.7.x (great for starting/stopping lots of associated microservices at once)
    2. Make spring boot launcher usable for “war” packaged spring boot projects (does not start because of “provided” scoped dependencies for tomcat)

  15. Christoph says:

    December 22, 2015

    I think more stable releases per year and faster iteration is a great idea.

  16. Igor Akkerman says:

    December 22, 2015

    Java language level import per module still seems to be broken:

    compileJava {
    sourceCompatibility = JavaVersion.VERSION_1_8 // or ‘1.8’ or ‘8’
    targetCompatibility = JavaVersion.VERSION_1_8 // or ‘1.8’ or ‘8’
    }

    Changing IntelliJ IDEA’s language level to 8 is reverted to 7 by a Gradle project refresh.

    • Vladislav says:

      December 23, 2015

      hm, works fine for me, could you create an issue with project sample to reproduce the issue?

  17. Mike says:

    December 22, 2015

    It’s great to hear that since 2016 Idea will move the focus from the race for new features to stability and bugs solving.

    I would like to ask to pay attention to «old» tickets, that were opened 5…10 years ago and still are actual. For instance:
    https://youtrack.jetbrains.com/issue/IDEABKL-99 (class-path management) or
    https://youtrack.jetbrains.com/issue/IDEA-76424 (better UI/UX of IDE window, like in VS).

    Both of these tickets we opened almost 5+ years and still are missed in the current version of Idea. Please, analyze the content of Youtrack DB and try to minimize the old opened tickets, which are still alive and receive the comments.

    Thanks.

    • Mike says:

      December 23, 2015

      Under «better UI/UX of IDE window, like in VS» I mean:

      «The current ways to control the viewing modes in JetBrains IDEA 14…16 is awful and completely not user-friendly. Just compare it with the Visual Studio UX, where you can split/merge/dock/pin the windows (viewing modes) just with a single drag & drop movement.

      Please, consider redesigning & re-implementing this logic in order to simplify the ways to control the viewing modes.».

  18. Dimitar Dimitrov says:

    December 23, 2015

    Well the new Gradle project set up checks many functional boxes, it makes the project structure window look busy and cluttered with all the different modules with funky names for the source roots.

    Also I don’t like it now that my projects are displayed as project groups. I would like to see what is an artificial group and what is a real project.

    Is there any plan on overhauling this UI?

    Also are you planning to support custom configurations, are we going to keep to the Maven scope conventions (compile, runtime, etc.)?

    • Vladislav says:

      December 23, 2015

      Could you file an issue and describe what you don’t lilke about Project Structure UI for new gradle project structure?

      We can make modules grouping optional using a setting, I created an issue for it – https://youtrack.jetbrains.com/issue/IDEA-149753

      What do you mean by “support custom configurations”? Most of all gradle configurations including custom configurations should be resolved properly using new project structure approach. If you have a project sample with “custom configurations” which IDEA 16 can not handle correctly, please create an issue with such project sample attached.

  19. Nail says:

    December 23, 2015

    It seems the resource processing on compilation is broken (java).

    144.2151.16

    I have a gradle project, with src/main/java (marked as Sources in Modules) and src/main/resources (marked as Resources).

    With the new Idea 16 approach, the content of “java” is compiled (Build->Make) into “build/classes” (Idea 15 -> was: “out/production/..:).

    The content of “resources” is NOT touched at all during compile step (Idea 15 -> was: “out/production/…).

    So now I don’t have the resources on the classpath (i18n, etc). A standalone Gradle build indeed copies them to the “build” folder (but not to “build/classes”), but I don’t want to run it on each compile.

    Is this a bug or a feature?

  20. Nail says:

    December 23, 2015

    Update:

    >The content of “resources” is NOT touched at all during compile step
    This is NOT true. However, when I delete the build/resources dir manually, it is not restored on Build->Make.

    As for the root cause – Idea 16 does not add the build/resources into the classpath on project Run. I’ve installed ideaIU-143.1559.1.exe, opened the same project – and it worked correctly (resources are on classpath).

    • Vladislav says:

      December 23, 2015

      I can not reproduce it. Could you make sure you have refreshed the project from gradle and if the problem remains file a new issue at youtrack with the project attached?
      Thanks!

      • Yoav Vainrich says:

        December 23, 2015

        I can confirm this and it is easy to reproduce.
        1. Create a new Gradle project with default sourceSet locations.
        2. Create a class with main method
        3. Create a running configuration with VM options: -verbose:class
        4. Run in 15.x and in 16.x and compare the classpath printed to console

        (If you open a ticket, I can attach a zip with such project)

        • Vladislav says:

          December 23, 2015

          ok, attach it at https://youtrack.jetbrains.com/issue/IDEA-149764

          • Nail says:

            December 31, 2015

            I was able to fix it on my project.

            I did “Refresh all gradle projects” in the Gradle view.

            IDEA then created 3 “subitems” under my project in Project Settings-Modules view: “xxx”, “xxx_main”, “xxx_test”, where “xxx” is my project name.

            So selecting to use the classpath of “xxx_main” module works fine now.

            I guess the improvement might be a message to refresh the gradle project.

            • Yoav Vainrich says:

              February 21, 2016

              Thanks Nail!
              It works!

  21. Laurent Caillette says:

    December 24, 2015

    Better logo? The old one would be fine.

    • TWiStErRob says:

      January 1, 2016

      Agreed, instead of redesigning the logo and icon every release you could spend time on more bugfixes. You lose the “IDEA identity” every year because of continous redesign. Look at Eclipse, they have essentially the same icon for almost 10 years now.

  22. habernir says:

    December 24, 2015

    what about integrate scene builder into idea?

  23. Marius says:

    December 25, 2015

    I agree with “habernir”. It would be nice to have Scene builder integrated into IDEA.

  24. Gaëtan de Menten says:

    January 11, 2016

    Still no git interactive mode/partial commits (https://youtrack.jetbrains.com/issue/IDEA-63201)? What a shame…

  25. Marius Merkevičius says:

    January 13, 2016

    I’m using intellij for android development. In 14 version there was an option to quickly generate run configuration with gradle (right click on test / file, and there would be an option to generate one).

    Now it generates only android/junit tests (seems like it has something to do with build variants, though no option to run on gradle test runner). Is there a way to change this ? Haven’t found this in either 15 or 16EAP.
    Also selecting “Run tests using: Gradle test runner” does not change anything in this case (on android development at least).

    I’m asking this because in a quite big project, “make” will cost a lot more time to run, than to run separate gradle tasks.

    Thanks !

    • Tim says:

      May 18, 2016

      I just installed the latest version of IJ 16. Is there fix or an issue open?

      • Tim says:

        May 18, 2016

        Just to clarify, I’m also seeing this issue in the latest version of IJ 16

  26. Flavio Oliveri says:

    January 15, 2016

    Can you PLEASE add support for Ember?
    Pleaseeeeeeeeeeeeeeeee!

  27. Anonymous Coward says:

    January 20, 2016

    Faster releases means users that don’t want to keep paying for the subscription and keep an licensed version will stay with a much more outdated version than what happened before the change to subscriptions, putting the pressure in continuing paying the subscription fee.

  28. sgatade says:

    March 7, 2016

    Then should I buy right now? or wait for the v16 official release???

Subscribe

Subscribe for updates