CLion opens 2018.3 EAP: initial remote dev support, unit testing performance improvements, and new Search Everywhere and Run anything dialogs

Today we are starting the new CLion 2018.3 Early Access Program! There are big plans for this release, and we will do our best to achieve as much as possible. We welcome all of you to give the new features and enhancements a try, and share your feedback with us.
Find below a detailed description of the following new features and improvements:

Download CLion 2018.3 EAP

Continue reading

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

Stay local, let your IDE do remote work for you!

CLion’s issue tracker has dozens of important and interesting feature suggestions to implement. With limited resources, we are always having to prioritize the features we include with the direction we have in mind for the product’s evolution. 3-digit issues with over 800 supportive votes – these are the kinds of requests we can’t leave out! Can you guess the one we’re working on for v2018.3? It is all about remote projects support!

Initial remote projects support – what’s that?

We’ve started with a particular set-up, though we do plan to cover and come to up with more cases in the future. So we are calling the current support state – initial. What exactly was implemented then?

  • Local client machine: Unix-like (macOS, Linux)
  • Remote host: Linux
  • Sources location: originally on the local host, CLion will synchronize to the remote machine for you.
  • Project model: only CMake projects
  • rsync is required to be installed on a remote host

We know there are many other cases for remote development and we are planning to extend our support for it in the future. Just sit tight and stay tuned!
Continue reading

Posted in Announcement, Tips'n'Tricks | Tagged , , | 35 Comments

CLion 2018.2.4 bug-fix update


CLion 2018.2.4 bug-fix update, build 182.4505.18, is now available for download!

You can download it from our website, use Toolbox app or snap packages (in the case of Ubuntu) to update. A patch-update will be available shortly for those using CLion 2018.2.3.

Download CLion

This build addresses the following issues:

  • Incorrect braces were added to the if clause, when autocompleting the if clause before that one (CPP-12049).
  • A few issues with the diff dialog (CPP-12881, CPP-13350).

Besides, CLion now bundles CMake 3.12.2.

Full release notes are available by the link.

Your CLion Team

The Drive to Develop

Posted in Announcement | Tagged , | 7 Comments

Meet JetBrains C++ team at CppCon 2018

We are happy to announce that this year the JetBrains C++ team will be back to CppCon in Bellevue, WA, USA – the biggest yearly event in the C++ development world – as exhibitors, participants and speakers! We greatly enjoyed it last year and are super-excited to join again!

Learn with us

JetBrains team is planning to present a selection of topics in the main program:

Monday, September 24, 14:00 – 15:00
Modern C++ Testing with Catch2, a talk by Phil Nash

Monday, September 24, 16:45 – 17:45
Debug C++ Without Running, a talk by Anastasiia Kazakova

Tuesday, September 25, 14:00 – 15:00
What Could Possibly Go Wrong?: A Tale of Expectations and Exceptions, a talk by Simon Brand and Phil Nash

Wednesday, September 26, 16:45 – 17:45
Parsing C++, a talk by Timur Doumler and Dmitry Kozhevnikov

Friday, September 28, 09:00 – 10:00
Class template argument deduction in C++17, a talk by Timur Doumler

Saturday, September 29, 09:00 – 17:00
Accelerated TDD: For More Productive C++, a class by Phil Nash

Share feedback and watch product demos

On Monday, September 24, JetBrains will have a big booth on the first floor of the Meydenbauer center. Then on Wednesday, September 26, and Thursday, September 27, we’ll be available with a table in the regular exhibition area on the upper floors. Drop by and ask any questions you may have about CLion, AppCode or ReSharper C++, learn a couple of useful tips, find out our future plans, watch demos, or just chat about C++ with the team. We’ll also have nice presents to give out so don’t miss it!

Participate in our license raffle and win a free 1-year subscription! Even if you don’t win, we’ll send you a guaranteed discount towards a personal 1-year subscription to any JetBrains C++ product of your choice.

Tuesday, September 25th, from 20:30
Tool Time will be running at CppCon for the first time ever, which is another great opportunity for attendees to come and chat directly with people who maintain software tools. Both CLion and ReSharper C++ teams will join the event.

See you soon!
The JetBrains C++ Team

Posted in Conference & Events | Tagged , , | Leave a comment

CLion 2018.2.3: better compilation database integration


CLion 2018.2.3 update (build 182.4323.58) is now available!

You can download it from our website, use Toolbox app or snap packages (in the case of Ubuntu) to update. A patch-update will be available shortly for those using CLion 2018.2.2.

Download CLion

CLion 2018.2 added a support for compilation database project format. This bug-fix update improves the integration.

Automatically reload compilation database

If you make changes in compile_command.json file, you can now force CLion to automatically detect them and reload the project. This is especially useful when working with Makefiles in CLion through the compilation database: file watchers monitor changes in Makefiles, regenerate the compilation database and CLion reloads it automatically. See the example described step by step in our webhelp.
To enable the Auto-import go to Settings/Preferences | Build, Execution, Deployment | Compilation Database:

Besides, we’ve also fixed a bug that caused Cannot get compiler information errors for files with relative paths in case of compilation database (CPP-14083). By the way, the issue was caught on Ruby sources. So now you can open it in CLion successfully!

Other improvements

CLion 2018.2 comes with Google Sanitizers integration. To let Sanitizers convert addresses into source code locations and make stack-traces easy to understand, one have to ensure that the PATH or *SAN_SYMBOLIZER_PATH environment variable contains the location of llvm-symbolizer. In case of using Clang compiler, you will get a notification from CLion if none of the PATH or *SAN_SYMBOLIZER_PATH variables points to llvm-symbolizer:

Besides, bundled CMake version was updated to 3.12.1.

Full release notes are available by the link.

Download CLion

Your CLion Team

The Drive to Develop

Posted in Announcement | Tagged , , | 3 Comments

IntelliJ Rust features. Entry one: Macros

In this series of short blog posts, we are going to take a closer look at the key Rust-related features available in JetBrains IDEs through our corresponding plugin.

However, before we do that, let me briefly remind you about the current state of the Rust plugin:

  • It is available in all our IntelliJ-based IDEs.
  • It relies on the Cargo build system, and CLion is no exception here.
  • The debugging feature for Rust code is currently only available in CLion.

While macros are essential for Rustaceans, they can be finicky from time to time. Fortunately, there are tools around to help ease your burden.

Continue reading

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

CLion 2018.2.2 bug-fix update


CLion 2018.2.2 update (build 182.4129.51) is now available!

You can download it from our website, use Toolbox app or snap packages (in the case of Ubuntu) to update. A patch-update will be available shortly for those using CLion 2018.2.1 or CLion 2018.2.2 EAP.

Download CLion

This update includes a performance improvement for CMake projects generation/loading, a workaround to run the app in a separate console when debugging on Windows, several improvements to CLion’s own language engine and an experimental clangd-based engine. More details can be found in the previous blog post and the full release notes are available on confluence.

Your CLion Team

The Drive to Develop

Posted in Announcement | Tagged , | 2 Comments

CLion 2018.2.2 EAP


CLion 2018.2.2 EAP (build 182.4129.15) is now available. Get it now from our Confluence page:

Download CLion 2018.2.2 EAP

Please, note that this EAP build requires an active subscription (or you can start a 30-day evaluation period). A patch-update will be available shortly (in case you are using CLion 2018.2.1).

This build includes the following improvements:

  • Performance improvement for CMake projects generation/loading.
  • When debugging on Windows, if you prefer to run the app in the separate console, not in the one integrated into CLion (which happens by default for GDB version 8.0 and higher), you can turn it on in Registry via the setting.
  • Clangd-based language engine got a few improvements:
    • Correct handling of header search paths for non-CMake projects (CPP-13715).
    • Better diagnostic in case of unresolved includes (CPP-13498).
    • Performance optimization (CPP-13729).
  • Several issues related to enums were fixed in the CLion’s own language engine: CPP-7797, CPP-4957, CPP-6138

Full release notes are available here.

Your CLion Team

The Drive to Develop

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

Working with Makefiles in CLion using Compilation DB

One of our most frequent feature requests for CLion is the ability to use project or build systems other than CMake. There are many good reasons for needing to use something different – but if you could only pick one we still feel CMake is the best choice. That’s not because we think it is perfect (although it’s worth noting that some of the issues that people have with it may be addressed by focusing on “Modern CMake”). Instead it’s because CMake is in very widespread use – especially in the open-source world, where it has become the de-facto standard.

CMake also has the advantage that it is a meta-build system. It can generate build files for other major build systems. In fact that is really the only way works, although CLion uses it in a way that mostly hides that from you by default (generating Makefiles behind the scenes).

While this is a great starting point, we do want to support other build systems and project formats and work has been progressing over the last couple of releases towards fully decoupling CMake. The initial results of that ongoing work have been: support for Cargo (for Rust projects) in 2018.1, a third-party plug-in for Bazel, and, in 2018.2, Gradle C++ projects and the ability to open Compilation Database JSON files. This is just the start, but is also a lot more useful already than you may realise. To find out why we need to look at what a Compilation Database actually is.
Continue reading

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

CLion 2018.2.1 update enables clangd on Windows


CLion 2018.2 release has happened just recently. And today we are happy to announce that the first bug-fix update 2018.2.1 is now available. If you haven’t yet upgraded to CLion 2018.2, good time to do so right now!

Get a fresh build from our website, use Toolbox app or snap packages (in the case of Ubuntu) to update. A patch-update will be available shortly for those using CLion 2018.2.

Download CLion

Clangd-based language engine on Windows

In this build the experimental clangd-based language engine is finally enabled by default on Windows (previously we enabled it by default on Linux and macOS)! It’s still used only to show errors and warnings in the editor, however that means that you get more accurate error highlighting on all platforms by default.

If you experience any issue with it, report it to our tracker, customize the settings or turn the engine off in Settings/Preferences | Languages & Frameworks | C/C++ | Clangd.

And more

Other fixes include:

  • A fix for a UI freeze when sanitizers are used (CPP-13341).
  • Fixed poor performance of VCS repository detection (related to symlinks).

Full release notes are available by the link.

If you are interested in what’s coming in CLion 2018.3, check the preliminary roadmap here.

Your CLion Team
The Drive to Develop

Posted in Announcement | Tagged , , | 13 Comments