Early Access Program

IntelliJ IDEA 2018.3 EAP: Git Submodules, JVM Profiler (macOS and Linux) and more

Please welcome the new IntelliJ IDEA 2018.3 EAP build with all its exciting new features! Available from the website, via Toolbox App, or as a patch update from the IDE.

At last, it’s here! We’ve just added support for the most voted feature in our issue tracker – yes you’ve heard right – the upcoming IntelliJ IDEA 2018.3 has support for Git submodules. Now when you clone repositories with the submodules, IntelliJ IDEA will not only clone the root repositories but also all its submodules. Moreover, update project now correctly updates all the submodules according to their state. Oh, and Diff, History, and Conflict resolution now work for submodule folders too.

IntelliJ JVM Profiler

Just when you thought it had everything, the upcoming IntelliJ IDEA 2018.3 Ultimate edition brings in the JVM Profiler. Currently, it only works on macOS and Linux, but don’t worry, Windows support is on the way.

Update:  In IntelliJ IDEA v2018.3 Ultimate edition, the JVM Profiler is available as an experimental feature. To start using the JVM Profiler go to the Maintenance dialog (Ctrl-Alt-Shift-/ on Linux, Cmd-Alt-Shift-/ on macOS), select the Experimental features option, and then select the idea.profiler.enabled checkbox.

The upcoming IntelliJ IDEA 2018.3 integrates a low overhead sampling profiler that can profile JVM and Native code – Async profiler. The async profiler doesn’t suffer from safe points bias, for more details please refer to the readme. It means that the IDE can now show the native parts of the execution stack, profile memory allocations, show Flame Graphs, and more.

For IntelliJ-based projects, you can start a Java (and Kotlin) run configuration with the profiler by using the profiler icon on the main toolbar. Gradle and Maven projects are not supported just yet.


You can if you want also profile every single test individually


You can attach the profiler to a process which is already running with the Run | Attach Profiler to Local Process… action.

You can also open plain text dumps, generated by an async profiler with Run | Import Profiler Dump.

The brand new CPU Profiler tool window displays: Flame Chart, Call Tree, and Method List. You can navigate from any of those tabs to the source code by using the Jump to Source context action( available for all JVM stack frames). Just so you know, you can also use a speed search in the tabs of the CPU Profiler tool window.


While you are in the Flame Chart, you can focus on any method by simply double-clicking on it, or you can use scrolling to resize the chart.

Activity Monitor

By the way, this EAP comes with a brand new Activity Monitor, so now you can see how much CPU the subsystems and plugins (both built-in and additionally installed) are consuming. The Activity Monitor arranges the subsystems, categories, and entries in the list by how much %CPU they are currently using; this may help you find slow plugins, slow subsystems, or other pain point areas. It’s available via Main menu | Help | Activity Monitor. This is currently only an experimental feature. When you report issues within the IDE, please don’t forget to attach CPU snapshots when applicable.

Screen Shot 2018-09-27 at 13.05.47



IntelliJ IDEA now highlights in the editor redundant usages of @SuppressWarning annotation, or // noinspection line comment, or /** noinspection */ JavaDoc comment “Redundant suppression”. Previously the IDE reported such cases only in the Inspection Results tool window. In case a suppressed inspection no longer addresses any warnings in the associated method body, class, or statement, the IDE will not only warn you but it also provides a quick-fix to remove such unnecessary annotations and comments. Please note that in order for the IDE to detect redundant suppressions, it is important that the suppressed inspections be enabled.

And please also make sure that the Redundant suppression inspection itself is enabled in Preferences/ Settings | Editor | Inspections | General | Redundant suppression.


The dataflow analysis now tracks the exact type of value (not only instanceof), in case it’s the result of a “new Smth()” expression.



The Kotlin plugin bundled with the IDE has been updated to Kotlin 1.3 RC.

JVM debugger

In the first EAP build of IntelliJ IDEA 2018.3, we introduced a new debugger feature that allows you to attach to Java processes that were started without a debug agent.
With this fresh EAP build we extended this ability so now you can attach to the processes that have been started with JDK version 9+.


Now the search/replace for multi-line fragment works in Find in Path/Replace in the Path window. There is no need to use regular expressions to perform a multiline search, as a workaround anymore.

We’ve also updated JDK to the 1.8.0_152-release-1293-b14 x86_64 version. You’ll find the following important fixes:

  • Drawing characters in Monospaced font was fixed ( JRE-847 )
  • The issues with frames maximization in HiDPI were resolved ( JRE-938 , JRE-956 )

The full list of all the changes is available in the IDE release notes and the JRE release notes.

Download a fresh new IntelliJ IDEA 2018.3 EAP build now! Please don’t hesitate to submit any issues you find to our tracker. We appreciate any feedback!

Happy Developing!

Comments below can no longer be edited.

22 Responses to IntelliJ IDEA 2018.3 EAP: Git Submodules, JVM Profiler (macOS and Linux) and more

  1. Avatar

    Vladimir says:

    September 26, 2018

    I have installed latest IntelliJ IDEA 2018.3 EAP (183.2940.10 on Ubuntu 18.04.1 LTS).
    When I try to use IntelliJ JVM Profiler I see “perf_event_open failed: Permission denied” error message. So, what should I do?

  2. Avatar

    Ed Statham says:

    September 27, 2018

    same here

    Linux mint18 4.15.0-34-generic #37~16.04.1-Ubuntu SMP Tue Aug 28 10:44:06 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

  3. Avatar

    Ed Statham says:

    September 27, 2018

    actually this can be solved like this:

    sudo sh -c ‘echo 1 > /proc/sys/kernel/perf_event_paranoid’

  4. Avatar

    Martin says:

    September 27, 2018

    You need to change few sysctl values as explained here: https://github.com/jvm-profiling-tools/async-profiler#basic-usage

  5. Avatar

    Yosef says:

    September 27, 2018

    Cannot find the way how to open “Activity Monitor”
    On main toolbar there is no “Help” button.
    From Search Everywhere no actions with this name

    • Zlata Kalyuzhnaya

      Zlata Kalyuzhnaya says:

      September 27, 2018

      Hi Yosev, I’ve added a screenshot to the blog to show where to look for the Activity Monitor.

  6. Avatar

    Neale Upstone says:

    September 27, 2018

    An attempt to profile a Tomcat instance using AyncProfiler didn’t work as it failed to launch anything. Trying the same thing on a JUnit test gave me:

    Could not find agent library …/183.2940.10/lib/profiler/linux/libasyncProfiler-linux.so in absolute path, with error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20′ not found (required by …/183.2940.10/lib/profiler/linux/libasyncProfiler-linux.so)

    Ubuntu 14.04 LTS currently has up to 3.4.19. Is it possible to compile against 3.4.19?

  7. Avatar

    Neale Upstone says:

    September 27, 2018

    The workaround to the above is to update the GCC toolchain as documented at https://askubuntu.com/a/582910.

    The following worked for me to get past this error:

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt update
    sudo apt-get install libstdc++6

    • Avatar

      Neale Upstone says:

      September 27, 2018

      Note: This doesn’t solve the Tomcat error which still returns “unable to ping server at localhost:1099” having not got as far as starting anything

      2018-09-27 [2910301] INFO – ProfilerConfigurationExtension – agent args = start,collapsed,threads,interval=1ms,framebuf=15000000,file=/tmp/asyncprofiler7.dump
      2018-09-27 [2910314] WARN – erver.JavaeeServerInstanceImpl – Unable to ping server at localhost:1099

  8. Avatar

    opticyclic says:

    September 27, 2018

    Its nice to see for a change that Linux support is not an afterthought.
    I think this is the first time I’ve seen a major application developer say “we have Linux support and Windows will come later” instead of the other way around!

  9. Avatar

    Aaron Cody says:

    September 30, 2018

    where can I find the docs describing the new git submodules feature?

    • Avatar

      Dmitriy Smirnov says:

      October 2, 2018

      It is still in EAP, so public docs are not ready yet.
      To get an idea of how it should work see the comment at https://youtrack.jetbrains.com/issue/IDEA-64024#focus=streamItem-27-3076750-0-0

      Submodules should just work, there is no any specific commands or configuration needed.

      • Avatar

        Jaap van der Velde says:

        December 5, 2018

        Using #PY-183.4284.139, Nov 21 2018, submodules are not included when cloning a repository as a new project from the wizard at startup.

        When I run `git clone –recurse-submodules myrepo.git` from the command line, everything works as expected, but when I clone the repo using the PyCharm UI, the project is cloned, but the submodule folders remain empty.

  10. Avatar

    Go K8s says:

    October 2, 2018

    Helm charts support please!!! 🙂


    • Zlata Kalyuzhnaya

      Zlata Kalyuzhnaya says:

      October 2, 2018

      Already supported

  11. Avatar

    Amir says:

    October 3, 2018

    When submodule support will come to the PyCharm?

    • Avatar

      Dmitriy Smirnov says:

      October 5, 2018

      It is available starting from the 183.2940. The latest EAP, released on October 3rd, already includes the changes.

  12. Avatar

    Alejandro says:

    November 13, 2018


    I’ve installed 2018.3 RC (#IU-183.4284.36) on OSX High Sierra and the JVM profiler options don’t show up in the toolbar or in the menu, the search metions them, but they are not there.

    Is there any special config need it to enable them?


  13. Avatar

    Stelios says:

    November 30, 2018

    I don’t understand how that thing works (or not) but I really can’t understand the reasoning behind the IntelliJ vs other (maven et al) as in the end maven projects HAVE to be imported. Am I missing something here?

    • Avatar

      Daniel says:

      April 11, 2019

      It would be great if someone could shed some light on this project thing.
      What exactly is the issue with an imported maven project?
      How could one workaround by building a “proper” IntelliJ project?
      To me its entirely unclear which information is missing from the imported maven project.

  14. Avatar

    Ion Freeman says:

    March 13, 2019

    Hello! Can you set an expectation of which release will have the JVM Profiler for Windows?

Discover more