CLion 2019.3 Hits Beta

CLion 2019.3 goes Beta! To install CLion 2019.3 Beta (build 193.5233.10), download it from the website, update from our Toolbox App, get it through a snap package (if you are using Ubuntu), or use a patch update.

DOWNLOAD CLION 2019.3 BETA

The main highlights for this build are:

  • Completion insert handlers were implemented in Clangd-based language engine, which allows functions/methods to be completed with (), namespaces – with ::, and type aliases – with a space at the end, if they have a built-in underlying type:

Insert handlers

  • Remote mode:

    • Full Remote Mode in CLion requires rsync (for macOS/Linux clients) or tar (for Windows clients) installed on a remote machine. CLion now verifies the tool is installed and provides a warning on the corresponding remote toolchain settings page, which clearly states that “rsync/tar is not installed or not available in PATH on remote host”.
    • You can now set a custom GDB debugger in the Remote or WSL toolchain (CPP-17552).
    • Resync with Remote Hosts is now enabled on project reload by default. This allows CLion to synchronize the header search paths from the remote machine to the local host (to resolve the code correctly in CLion) on every project reload. This operation might be time-consuming, but as it runs in the background, it shouldn’t affect CLion’s performance. If you are still experiencing any performance issues, try disabling the clion.remote.resync.system.cache registry option (Help -> Find Action, type Registry).
  • CMake File API, which makes it possible to use various CMake generators like Ninja in CLion, is now supported not only for v3.15, but for any CMake version higher than 3.15.
  • Code coverage now works with a Ninja generator (CPP-17864).
  • This build also brings several fixes to code completion and a fix for the lengthy UI freeze (CPP-17961).

The full release notes are available here.

Your CLion Team,
JetBrains
The Drive to Develop

Posted in Announcement, Early Access Preview | Tagged , , , , , | 9 Comments

Support for C++20’s Concepts in CLion

Concepts are one of the biggest features coming in C++20, and knowing that, we’ve been thinking about supporting Concepts in CLion for quite a while. Enter Saar Raz with his C++20’s Concepts implementation in Clang! Long story short, we have been collaborating with Saar to merge his branch into our custom Clangd-based language engine in CLion, and started implementing some nice IDE features on top. Sounds ambitious enough, but we have thoroughly enjoyed the experience so far! A very early result of this collaboration was used by Saar in his CppCon 2019 talk on Concepts:

We do recommend watching this talk in full to learn how Concepts can be useful, and whether you should care about them even if you’re not using metaprogramming in your daily work.

Now, we are ready to present the C++20’s Concepts support in CLion, available to all the 2019.3 Early Access Program users! Just grab a build and give it a try.

DOWNLOAD CLION 2019.3 EAP

Continue reading

Posted in Tips'n'Tricks | Tagged , , | 7 Comments

CLion 2019.3 EAP: C++20’s Concepts, Go to Header/Source, and .lldbinit

Hi,

A new CLion 2019.3 EAP (build 193.5096.27) is now available! Get it from our website, via the Toolbox App, or as a snap package (if you are using Ubuntu). A patch-update for anyone using the previous EAP build will be available shortly.

DOWNLOAD CLION 2019.3 EAP

Key highlights:

Continue reading

Posted in Announcement, Early Access Preview | Tagged , , , , , | 28 Comments

C++ Annotated: March–October 2019

Hi,

Since our last edition in February came out, the C++ community has organized lots of fantastic conferences, held productive C++ Committee discussions, and published tons of educational posts. We, in the meantime, have been rethinking the format of the C++ Annotated series.

At JetBrains, we do several other monthly digests with briefly annotated links to the latest articles and posts around the respective technologies: .NET Annotated, Java Annotated, and PHP Annotated. In C++, so far we’ve followed a slightly different approach, diving deeper into some particular topics, like detailed overviews of conferences, various tools releases, learning materials, and, lately, C++ proposals you don’t want to miss. This turned each digest into quite a long read.

We’ve been considering other formats to make the C++ Annotated more accessible and easier to navigate. Finally, we’ve decided to cut some sections but keep others detailed, to strike a balance between short link annotations and interesting stories we’ve come across and we feel are valuable for the C++ community.

Now it’s your turn! Read, comment, and share your thoughts on the direction we are taking C++ Annotated. We are listening!

C++ Annotated

Today:

Continue reading

Posted in Uncategorized | Tagged , , | 2 Comments

CLion 2019.2.5 Bug-fix Update

Hi,

A minor update CLion 2019.2.5 is out! Build 192.7142.39 is now available for download from our website, via the Toolbox App, or via snap (for Ubuntu). A patch update will be available shortly.

DOWNLOAD CLION

This minor release brings some fixes from the IntelliJ Platform, including several notable changes for macOS Catalina:

  • Fixed opening projects on macOS Catalina (JBR-1721).
  • Fixed font rendering in text fields on macOS Catalina (JBR-1863).

The full list of JBR improvements can be found here. IDE release notes are also available.

Your CLion Team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged | Leave a comment

CLion 2019.3 EAP: Code Coverage and CMake Defaults

Hi,

A new CLion 2019.3 EAP (build 193.4932.12) is now available! Get it from our website, via the Toolbox App, or as a snap package (if you are using Ubuntu). A patch-update for anyone using the previous EAP build will be available shortly.

DOWNLOAD CLION 2019.3 EAP

Key highlights:

Continue reading

Posted in Announcement, Early Access Preview | Tagged , , , , | 31 Comments

CLion 2019.3 EAP: Fixes for CMake Generators, Disassembly, and More

Hi,

A new CLion 2019.3 EAP (build 193.4778.13) is now available! Get it from our website, via the Toolbox App, or as a snap package (if you are using Ubuntu). A patch-update for anyone using the previous EAP build will be available shortly.

DOWNLOAD CLION 2019.3 EAP

Generators in CMake

In the recent EAP build, we’ve added support for Ninja and other generators in CMake. We’ve had tons of valuable feedback and discovered cases we hadn’t tried on our side! It was great that, with your help, we were able to catch all these problems and we have worked hard over the week to fix the most annoying ones. Today’s build brings a few important fixes:

  • On Windows, an exception was caught that could prevent your project from correctly loading CMake and the project build (CPP-17728, CPP-17740).
  • For any generator which is not Makefiles (default) or Unix/MinGW/MSYS Makefiles, the custom make path in the Toolchains settings is ignored now. This was preventing Ninja from working correctly (CPP-17749). Later, we plan to allow users to specify their custom build tool in this field, for example, any custom Ninja version (CPP-17773).

Experimental debugger for MSVC

Some users noticed that the experimental debugger for the Microsoft Visual C++ toolchain had stopped working in the recent EAP build. Now, it’s fixed and back again. We are sorry for any inconvenience this may have caused!

Other fixes

A few issues with disassembling on Windows were fixed (CPP-15210, CPP-15828, CPP-17115).

Besides, there are some VCS improvements coming from the IntelliJ Platform.

The full release notes are available here.

Your CLion Team
JetBrains
The Drive to Develop

Posted in Announcement, Early Access Preview | Tagged , , , , | 26 Comments

CLion 2019.3 EAP: Ninja or Another Generator of Your Choice in CMake

Hi,

A new CLion 2019.3 EAP (build 193.4697.8) is now available! Get it from our website, via the Toolbox App, or as a snap package (if you are using Ubuntu). A patch-update for anyone using the previous EAP build will be available shortly.

DOWNLOAD CLION 2019.3 EAP

CMake remains the most deeply integrated project model in CLion. However, from the very beginning, we supported only the Makefiles generator. This limitation was caused by the fact that CLion was parsing the output of CMake command run with parameters such as -G “CodeBlocks – Unix Makefiles”, -G "CodeBlocks – MinGW Makefiles", or -G "CodeBlocks – NMake Makefiles" to get information about the project, which made it impossible to change the generator used.

This obviously caused some problems:

  • Ninja is known to be a much faster generator and is one of the most requested alternatives (CPP-2659).
  • With the Visual Studio toolchain, CLion was using something very similar to Makefiles – NMake, but the community expected Visual Studio CMake generators (CPP-14730).

As a solution, we considered supporting the CMake server first, but later found a better alternative – the new CMake File API, which was added by the CMake authors as a new and better way to query project information. And now, we are happy to present to you the new CLion 2019.3 build with this new API supported!

In practice, this gives you an opportunity to use any CMake generator of your choice!

Let’s look at the details.

How can I change the generator?

A very simple action is required to change the generator – just go to the CMake Profile settings in Settings / Preferences | Build, Execution, Deployment | CMake and pass the generator name in the CMake options, for example, -G Ninja:
cmake_generator

After successfully reloading your project, you can see some similar output via the generation path:
ninja_output

This works for all platforms, remote mode, and the WSL, and for all generators supported by CMake (Ninja, Xcode, Visual Studio, and Makefiles). And you can use different generators in different CMake Profiles if necessary.

There are, however, a few things to bear in mind:

  • While CMake File API first appeared in CMake 3.14, CLion supports the feature only with CMake 3.15 or higher. (Currently, CMake 3.15.3 is bundled into the 2019.3 EAP builds, so you don’t have to install anything additionally, if you simply rely on a bundled version.)
  • Make sure you have the generator itself installed on your machine (like Ninja, for example).
  • Recompiling individual files is not supported in cases where the generator was changed as CLion can’t restore the build rules information easily (CPP-17622).

How do build type settings work for multi-configuration generators?

Xcode and Visual Studio are so-called multi-configuration generators, which means the project files for all build types will be generated by CMake. However, CLion will only use the build type specified in the CMake Profile settings for indexing and the actual building (in the build command line arguments, you can find the proper config is passed by CLion, for example: –config Debug).

That’s it for today! The full release notes are available here.

DOWNLOAD CLION 2019.3 EAP

Your CLion Team
JetBrains
The Drive to Develop

Posted in Announcement, Early Access Preview | Tagged , , , , , | 71 Comments

CLion 2019.3 EAP: Debugger Improvements

Hi,

A new CLion 2019.3 EAP (build 193.4386.19) is now available! Get it from our website, via the Toolbox App, or as a snap package (if you are using Ubuntu). A patch-update for those using the previous EAP build will be available shortly.

DOWNLOAD CLION 2019.3 EAP

In this quality-targeted release, we work a lot on polishing CLion’s support for debuggers. As you know, we support two back-ends, LLDB and GDB. This build brings some long-awaited improvements and fixes for both.

LLDB: better pretty printers are in use

In the previous EAP build, we updated the bundled LLDB on macOS and Linux to v9.0. Now, we’ve cleaned the incorrectly working pretty printers for LLDB, fixing a whole set of related issues, which you can find linked to the parent ticket CPP-17548.
Continue reading

Posted in Announcement, Early Access Preview | Tagged , , , , , | 29 Comments

CLion 2019.2.4 Bug-fix Update

Hi,

If you are using macOS 10.15 Catalina and the recent CLion release 2019.2.3 (or any CLion version earlier than 2019.2.2), please update to get the LLDB working.

DOWNLOAD CLION

macOS Catalina was finally released a few days ago. We started testing and fixing some issues there well in advance, and CLion 2019.2.2 was released a month ago with a fix for LLDB on Catalina.

Unfortunately, in CLion 2019.2.3 the debugger on Catalina was broken. After the official macOS release, our users have faced an issue when launching the debugger (CPP-17613). We are really sorry about this, and we’re now releasing a new bug-fix update 2019.2.4 with the proper fix included.

We’ve also investigated the issue internally to prevent similar problems in the future.

CLion 2019.3 EAP is not affected and has LLDB working on Catalina.

Please note that some possible warnings (CPP-17268) are still present but don’t seem to prevent debugging. Also, another update CLion 2019.2.5 with more fixes from the IntelliJ Platform, which in particular targets macOS 10.15 Catalina users, will be released in a few weeks. Stay tuned!

Your CLion Team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , , | Leave a comment