CLion 2018.1 EAP: Valgrind on WSL, partial commits in Git and C++ support improvements


The new CLion 2018.1 EAP (build 181.3870.21) is now available for download. Get it now from our site or wait for a patch update right in the IDE (if you are using previous EAP build).

Download CLion 2018.1 EAP

Valgrind on WSL

Valgrind Memcheck was integrated into CLion in v2017.3 and gave Linux and macOS user ability to catch memory errors and leaks right from the IDE. Unfortunately, Windows users are lacking Valgrind. But since WSL is here and supported in CLion, we’ve enabled Valgrind on WSL!

When you have WSL toolchains configured in CLion, you can now see the Valgrind settings in Settings | Build, Execution, Deployment. Install Valgrind on your WSL instance (sudo apt-get install valgrind) and provide a path to the Valgrind executable in Valgrind settings in CLion. Now you can select a Run/Debug configuration and run it under Valgrind memcheck via the Run | Run Valgrind Memcheck… or special icon in the Navigation bar located next to the Run and Debug options:

In the Valgrind tab in the Run toolwindow you’ll get all the possible errors found by Valgrind, along with the source code location and a stack trace:

C++ support improvements

This build also brings a set of improvements to C++ language engine, which reduces the number of incorrect warnings and errors in code analysis:

  • False error for variadic function declaration when comma before ellipsis is absent (CPP-5811)
  • False syntax error for override function with try/catch block (CPP-9143)
  • Incorrect parsing in case of unnamed-only function parameters (CPP-2755)
  • Macro call breaks parsing of types (CPP-4314)
  • Braces init list is not parsed inside parent initializer (CPP-7608)
  • Parentheses in array-of-pointers argument declaration confuse CLion (CPP-8331)
  • And more

Partial commits in Git

Partial Git commits (git add -p) are now supported in CLion. That means only the selected changes from the file are committed, while other changes can be moved to another changelists. Moreover, you can now associate the code chunks, not the whole file, with a changelist, and track them separately.

You can include code chunks into a commit using the checkboxes in the Diff pane of the Commit Changes dialog:

or right from the editor, in the popup which appears when you click on a change marker in the gutter:

Find more details in the IntelliJ IDEA’s blog.

That’s it! Full release notes are available by the link.

Download CLion 2018.1 EAP

Your CLion Team
The Drive to Develop

This entry was posted in Announcement, Early Access Preview and tagged , , . Bookmark the permalink.

26 Responses to CLion 2018.1 EAP: Valgrind on WSL, partial commits in Git and C++ support improvements

  1. Tano says:

    Anastasia, when do we expect to receive the 2018.1 stable? (non-EAP)

  2. Roman says:

    This version set a new record for “Resolve operation requires more time…”. I have waited 3 minutes!! to switch from myclass.h to myclass.cpp :(

  3. Tano says:

    Question, perhaps offtopic: with latest EAP I get code analysis before commiting, which I disabled in the past, but it seems that it happens again. How can I disable it now?

  4. Adam Getchell says:

    CLion 2018.1 EAP is incompatible with using Ninja in the same directory.

    In CLion 2017.3 and 2017.3 EAP, I could run a script to build out of source into build using Ninja, and then just use CLion’s Reload CMake Project.

    Now Reload CMake Project warns that it’s incompatible with Ninja, and wants to specify another directory. Unfortunately, I actually need both to build at the same place (especially until CLion Ninja compatibility is done.)

  5. Hans Schnier says:

    Hi, I have question about Valgrind on WSL. I configured WSL toolchains (it works fine) and installed Valgrind on WSL, however, I keep getting message “Error running ‘project’: Permission denied” when I’m trying to use Valgrind. How can I fix it?

    • Anastasia Kazakova says:

      Can you check the Valgrind permissions please? It should be allowed for the user, which credentials are used for WSL in CLion. You can try and run Valgrind manually on WSL using these credentials.

  6. Alexander Mokin says:

    Hello, I have installed valgrind using WSL, but what should I type in the “Valgrind executable” field in the settings?

    • Alexander Mokin says:

      I entered the path “usr/local/bin/valgrind”, but where it is located in Windows. And I get the “CreateProcess error=193”.

      • Alexander Mokin says:

        Okay, I figured out I have to set just “/usr/local/bin/valgrind”, but I didn’t know I had to set the WSL toolchain by default. Only that way it can see the Ubuntu executable. Now it seems to work.

        • Anastasia Kazakova says:

          And what CMake profile is selected for you in the bottom right switcher? If you select a profile with WSL toolchain, Valgrind should find the environment properly and run successfully.

          • Noa Cohen says:

            how do i change the Cmake profile?
            I did add Release-WSL profile in the settings/…/cmake and the icon for running with valgrind memcheck is enabled but i keep getting an error about not finding the valgrind executable although i have entered the path “usr/local/bin/valgrind”

          • Anastasia Kazakova says:

            In case of WSL, Valgrind is running on your WSL. Is this path on your WSL?

  7. Noa Cohen says:

    the problem was that I had two WSL profiles on toolchains the one that was default wasn’t configured. got it working!

Leave a Reply to Anastasia Kazakova Cancel reply

Your email address will not be published. Required fields are marked *