CLion 2019.2 EAP: Debugger Improvements, Syntax Highlighting for 20+ Languages, and Shell Script Plugin

Anastasia Kazakova


A new CLion 2019.2 EAP (build 192.5118.29) is now available. Download the full build from our site, install it via the Toolbox App, or use a snap package if you are using Ubuntu. A patch-update for those using the previous EAP build will be available shortly.



When debugging your application, you can use the GDB/LLDB console directly from CLion. Now, command completion works when you press Tab or Ctrl+Space. Note that completion is provided by GDB or LLDB, respectively, while CLion simply gives you access to them.

For GDB:
gdb completion

lldb completion

This build also introduces new, clearer icons for line breakpoints:

  • breakpoint_set
    Line breakpoint out of debugging session (i.e. the session hasn’t started yet).
  • breakpoint_resolved
    Line breakpoint is successfully resolved by GDB or LLDB using the provided debug symbols, and can be hit during the execution.
  • breakpoint_invalid
    Line breakpoint is invalid, which means it can’t be resolved by GDB or LLDB and will never be hit. This might happen when the breakpoint is actually located out of the executable code or some debugging symbols are missing. CLion now detects such situations accurately and updates the icon on the fly (for example, when you load the proper debug symbols).

Naming Convention: Leading_upper_snake_case

We keep improving the naming convention settings (available via Settings/Preferences | Editor | Code Style | C/C++ | Naming Convention). We’ve added a Leading_upper_snake_case style, which capitalizes only the first letter in the snake_case name, leaving the rest in lower case. Now it’s available along with the somewhat similar Upper_Snake_Case style and others.

Syntax highlighting for over 20 different languages

In your C++ projects, you may also have some code in other languages such as Rust, PHP, Python, Ruby, or Java. For some of these, CLion offers full-featured support, including:

  • Bundled support for JavaScript, XML, HTML.
  • Bundled support for Python.
  • A plugin for Rust.

And yet in some situations no support is available. Well, we are now adding syntax highlighting for over 20 different programming languages, and it just works out of the box – no additional configuration required!

If you occasionally have to look through code written in a different language that is not supported in CLion, the IDE provides you with a friendly way to do it. Please note, however, that we don’t plan to extend the support for these other languages beyond syntax highlighting.


This support is based on TextMate grammars. The list of languages is available in Settings/Preferences | Editor | TextMate Bundles, and you can even add additional languages there. Of course, where more profound support is provided through the IDE itself or a plugin (such as Rust), it’s prioritized over a TextMate Bundle.

Shell Script Support

This EAP build bundles a Shell Script plugin, which enables rich editing support for shell scripts, including word and path completion, and even textual Rename:

The full release notes are available here.


Your CLion Team
The Drive to Develop

Comments below can no longer be edited.

22 Responses to CLion 2019.2 EAP: Debugger Improvements, Syntax Highlighting for 20+ Languages, and Shell Script Plugin

  1. Ernst says:

    June 13, 2019

    auto-completion in gdb console is a nice news,
    but is there still no shortcut for a switching to gdb conlsole quickly?

  2. Tano says:

    June 14, 2019

    shell script is unusable, it constantly throws exception, I opened CPP-16542

  3. Tano says:

    June 14, 2019

    Sorry Anastasia, but I started to hate CLion, please improve the performance.
    I have a very very small project, (20 lines!!!), I press Enter and I get lag while doing it, sorry this is not acceptable. It’s a very simple project, not some complicated stuff…really…I have i7 and 32GB ram…we are in 2019.
    I updated the small video on CPP-9819.

    • Anton says:

      June 14, 2019

      I totally agree. I really appreciate your hard work but this is really disappointing. You said you were going to work on performance improvements during this release cycle and this is the third EAP with bells and whistles but without any notable improvement. Text editor shouldn’t freeze on typing. At least on i7 and i9. Code analyzer shouldn’t load one CPU core up to 100% for a few minutes only because I switched to the tab with 2000 LOC file. I can understand that you have limited manpower but please, don’t ignore performance issues.

      • Anastasia Kazakova says:

        June 14, 2019

        We definitely are not ignoring them. Please attach a cpu snapshot for further investigation

    • Anastasia Kazakova says:

      June 14, 2019

      Please attach your project or a CPU snapshot, this is definitely a bug to investigate. Thanks

      • Tano says:

        June 14, 2019

        I attached 10 times the snapshot on different bugs related to slow typing.
        Sorry, but I opened that bug 2 years ago, I think that the team should have came to the conclusion that “this is definetly a bug to investigate” a bit faster.
        Because every new user will encounter this problem, just create a sample project and press’s laggy.

    • Olof says:

      June 14, 2019

      Performance has gotten better since I started using CLion. But it bothers me that work is being done on anything other than performance optimization. It should be priority 1, 2 and 3.

      I’m beginning to wonder if Java is suitable for complex latency sensitive apps

      • Tano says:

        June 14, 2019

        I perfectly agree, perhaps some parts should be written in a faster language. Although I love this IDE, the typing lag is the most obvious and the most disturbing part of CLion.

        • Anastasia Kazakova says:

          June 14, 2019

          The typing lag is mostly caused by the fact that the IDE requires resolve on typing in many cases (unlike, for example, for Python or Java), and it takes time. Currently, we work on the light-weight PSI, which we hope can resolve this issue.

      • Anastasia Kazakova says:

        June 14, 2019

        It is priority number one. I can assure you.

        We are not covering the changes in the weekly EAP posts, as it’s a much bigger work that is in progress. We plan some separate blog post on performance improvements and our current ongoing work, hope it will make the situation clearer.

        Java is not the reason here. It’s mostly the problem of fitting C++ code resolve into IntelliJ Platform architecture. We are currently working on some lightweight PSI which should help a lot in that direction. Also, clangd-based engine helps in quite many cases.

  4. Kira Backes says:

    June 14, 2019

    We’ve tested the new Leading_upper_snake_case in our C++ dev team, it works fine, now we can finally activate the naming inspection and it works! Thank you! 🙂

    • Anastasia Kazakova says:

      June 14, 2019

      Glad it works for you!

  5. Jeff Young says:

    June 15, 2019

    The last couple of EAPs “go away” frequently when trying to navigate between a function definition and a declaration. It’s usually when compiling is going on in the background, but not always. The temporary hang is between 30 seconds and several minutes, after which I get a bug report but the app then carries on. (I have submitted the bug reports.)

    Is this a common experience?

    • Anastasia Kazakova says:

      June 15, 2019

      Not sure about it. Have you reported the thread dumps (created automatically on UI freeze) or a CPU snapshot?

    • Kirill Sapozhnikov says:

      June 17, 2019

      Yeah, it’s a common experience…

  6. Steffen says:

    June 17, 2019

    When having multiple git repositories in the project, the new “update info” view just shows the complete log. Is this intended?

    • Dmitriy Smirnov says:

      June 18, 2019

      Update info now shows part of the log – commits fetched by the update. It does not depend on the number of repositories.


Subscribe for updates