Webinar Recording: CLion Ask Me Anything Session
On May 7, we ran an exciting CLion Ask Me Anything session. 2 hours, 9 speakers, 7 demos, and 140+ questions – this was really inspiring and motivating for the team and hopefully useful for all attendees. The most frequent comment afterwards from the team members was, “Let’s do this again!”. We’d also like to say huge thanks for all your compliments and good wishes in the questions pane!
The recording of the webinar is now available on the JetBrainsTV YouTube channel. And here are some useful timestamps so you can instantly jump to any section:
- C++ language support
- 02:29 – The evolution of the language engines in CLion.
- 05:16 – Handling preprocessor code.
- 09:00 – Plans for Qt support.
- 15:30 – Code analysis tools in CLion, how to add support for more, and if/when CLion will support the C++ Code Guidelines rules.
- 18:57 – What are the plans for C++20 support?
- 19:55 – Does the CLion team participate in the C++ Committee Meetings and what are your goals there?
- 22:04 – CLion performance tips
- Project model support
- Remote development with CLion
- Embedded development with CLion
- 01:38:25 – Working with CTest in CLion
- 01:46:21 – General questions and final links.
Most interesting questions from the session
50+ questions were asked during registration, and 80+ came online. There were many duplicates, which made us realize that a few key topics required more attention from our side. We handled the questions during the webinar and followed up on some by email afterwards. Still, there are a few questions worth mentioning here, along with the answers.
Q: Template and generic programming debugging can be a pain compared to standard programming. Any tips to improve error/exception visibility and verbosity?
A: We can recommend a couple of tools here: Metashell and Templight. In the future, we plan to get some of these tools or some similar approaches integrated natively into CLion (CPP-4745).
Q: What would you recommend for improving CLion’s performance on my project?
A: Please check these Performance Tuning Tips from our webhelp. With any particular issue, please contact our support (email@example.com) or file a detailed report in our tracker.
Q: What are your plans for more native Docker support? Not over ssh but just using Docker exec to perform Docker commands with mapped drives and no rsync.
A: First of all, there’s a feature request you can follow for updates and comments – CPP-13751. The great news is that we are considering making these improvements as soon as possible. However, there are lots of open questions and interesting implementation challenges.
For example when we build the project model and collect compiler information (header roots, defines, compiler features, all the stuff that’s needed for correct code assistance), we may run the compiler thousands of times. For
docker exec this means that for each compiler call, we have to start the docker container, execute the command… and repeat it again and again (start, execute), thousands of times. So the question is, how does the performance of the direct ssh connection compare to
docker exec? We still need to investigate this.
And while we agree that project files synchronization is not needed, it’s not clear what we should do with the header roots inside the docker container.
Finally, we’d like to say that some preliminary support might come to CLion as soon as in v2020.2 or v2020.3.
Q: What are your plans for improving the performance of remote development in CLion?
A: The performance of building the CMake model is the most painful step right now (CPP-14984). This happens because the “Reloading CMake Project” step does not just run remote CMake, but it also includes processing CMake output and collecting compiler information (tons of remote compiler calls). So the plan is to reduce the number of remote process calls while collection compiler information. Other fixes include:
- Do not transfer unnecessary (binary) build artefacts to the local machine (CPP-15095).
- Improvements to remote project file transfer speed (CPP-14365, CPP-15396).
Q: Do you have any plans to integrate CTest into CLion?
A: We do not plan to directly support CTest at this time. The reason is that CTest pretty much duplicates the functionality of CLion run configurations. This is how you can use CTest via CLion’s built-in Run/Debug configurations:
- Open Run | Edit Configurations…
- Create a new one using the CMake Application template. Rename it to CTest, for example.
- Select `All Targets` in the Target field.
- For the Executable, do `Select Other` and find `ctest` executable.
- Define Working directory as macro
- You are all set. Simply run the newly created configuration.
Please see the webinar recording for the demo (01:38:25).
Q: How do I set up reversible debugging in CLion?
A: CLion currently doesn’t provide this feature out of the box, but you can set up reversible debugging with the Undo plugin. Please read this blog post and watch this live webinar recording for the details.
Q: How are Conan / package managers supported in CLion?
A: While no native support exists for now, there is a nice plugin from JFrog to integrate some Conan workflow into CLion. Check out this blog post for a quick start.
Q: Is there a guide for getting started with CLion plugin development?
A: Sure: https://www.jetbrains.org/intellij/sdk/docs/intro/welcome.html. Feel free to direct to us any questions you might have.
Your CLion team
The Drive to Develop
Subscribe to Blog updates
Thanks, we've got you!
5 Approaches to Remote C++ Development With CLion – Webinar Recording
The recording for our webinar, 5 Approaches to Remote C++ Development With CLion, with Matt Ellis and Timur Doumler, is now available for you to watch. Subscribe to our community newsletter to receive notifications about future webinars. Webinar agenda The webinar consists of the following parts: …
Join the Webinar – 5 Approaches to Remote C++ Development With CLion
Join us on Tuesday, July 26, 2022, 3:00 pm – 4:30 pm UTC (check other timezones) for our free live webinar, 5 Approaches to Remote C++ Development With CLion. REGISTER NOW and get a reminder, or join us on YouTube. In this webinar, JetBrains developer advocates Matt Ellis and Timur Doumler will show…
Testing Superpowers: Using CLion to Add Tests Easily – Webinar Recording
The recording of our webinar, Testing Superpowers: Using CLion to Add Tests Easily, with Clare Macrae, is now available. Subscribe to our community newsletter to receive notifications about future webinars. This webinar was produced in response to a question someone asked in Arne Mertz’s "Refac…
Live Webinar, Testing Superpowers: Using CLion to Add Tests Easily
CLion is great for refactoring C++ code to make it more maintainable. But as someone asked in Arne Mertz's "Refactoring C++ Code" webinar, "What can we do if we don’t have tests on the project and can’t easily check the changes introduced by refactorings?" In this webinar you wil…