2018.3 (Nov 27)
Initial Remote Development support
You can now develop remotely from a Windows, Linux, or macOS client machine to a Linux remote host, for CMake-based projects only. The current setup assumes the source code is located on a local machine, which CLion synchronizes to the remote machine. Many other remote development setups are planned for future CLion releases.
Supported configurations
To start developing remotely, first create a remote toolchain in Settings | Build, Execution, Deployment | Toolchains. Provide the remote host address and credentials, and then use the toolchain in one or several CMake Profiles. After CMake is reloaded, you’ll be ready to start working remotely with your project in CLion.
Learn what’s going on in CLion under the hood.
Remote mode
After the configuration is done, you can run or debug your application or unit tests remotely from CLion. Code is built, run and debugged on a remote host, while you work with the code in CLion on your local machine. Code is resolved locally, and CLion synchronizes the header search path to the local machine to speed up the process.
Enable remote as default
To use CLion in remote mode for all your projects, both the new and existing ones, you can set your remote toolchain to be the default.
Go to Settings | Build, Execution, Deployment | Toolchains and simply move the toolchain to the top of the list. CLion will then use this toolchain automatically for any projects you open in CLion.
CPU Profiler
CLion now integrates with CPU Profiler on Linux (Perf) and macOS (DTrace). You can run the profiler right from the IDE and review the analysis results in a dedicated tool window (View | Tool Windows | CPU Profiler).
Use the flame chart, call tree and method lists to get a better overview of the possible performance issues in your code. Navigate to the source code to locate the issues in the code base.
Learn more
C++ Support
Clangd-based navigation and search
We’ve been using an experimental, complementary Clangd-based language engine to help you annotate errors in the editor. Now, it also powers several navigation and search actions, including Go to declaration (Ctrl+B)/definition (Ctrl+Alt+B), highlighting references under the caret, quick documentation (Ctrl+Q), and Find usages (Alt+F7). The results are still merged with the ones collected by CLion’s own engine.
C++17: fold expressions and deduction guides
Now, CLion correctly parses C++17 fold expressions and C++17 deduction guides. This means that there is less false code highlighting and better code assistance for you. For example, the correct type will be shown in the parameter info for user-defined deduction guides.
New IDE actions
New Build and Rebuild actions
The new Build menu comes with a set of new and updated build-related actions for CMake:
- Build/Rebuild
all target from all CMake Profiles
- Build/Rebuild
all target from the selected CMake Profile
- Build/Rebuild the selected configuration
- Recompile the current file
- Install
- Clean
Activity Monitor
This new experimental feature shows how much CPU the subsystems and plugins (both built-in and additionally installed ones) are consuming. To access it, go to Help | Activity Monitor.
If you see a subsystem whose %CPU is unusually high, feel free to ask our support team about it or report it to the issue tracker.
New Run Anything
Run Anything (Double Ctrl) is a new and universal way to run and debug any configuration in your project, or even open a project.
To run a configuration, just start typing its name.
To debug, hold down the Shift key to switch to the Debug Anything mode.
To open a project, type “Open” and select the desired project from the list.
Updated Search Everywhere
The updated Search Everywhere (Double Shift) now includes all the multiple actions in one:
- Search Everywhere
- Find Action
- Go to Class
- Go to File
- Go to Symbol
Each has its own separate tab in the dialog, and you can use Tab to switch between them.
Unit testing
In v2018.3, we’ve reworked the integration with unit testing frameworks in CLion (Google Test, Boost.Test, and Catch (2)) in order to eliminate various performance issues and hangs. We’ve also improved output processing in many cases.
Learn the details.
Show Test List
To improve performance, CLion now uses lazy test detection. This reduces project indexing times in many situations. For diagnostic purposes, we’ve implemented a new action called Show Test List (available from the Find Action dialog), which provides a text file with a list of all the tests currently detected in the project.
Compilation database validation
CLion now provides specific inspections to check for compliance with the compilation database’s JSON schema.
For example, it can highlight situations when an incorrect type is used for the property value, or when the property is missing.
Editor
Formatted macro expansion
CLion now formats the macro replacement in the Quick Documentation popup (Ctrl+Q). It also highlights strings and keywords used in the final substitution, so you can quickly understand the code that will be substituted after the preprocessor pass.
Multiline TODO comments
To add more information to TODO comments but keep them readable, you can now split the comment into several lines. Just add an indent starting from the second line of your multiline TODO comment and the IDE will differentiate it from an ordinary comment.
VCS
Git submodules
You can now work with Git submodules in CLion. When you clone the root repository, CLion will clone all its submodules. The same is true for updates, and other VCS actions work with submodules as well.
GitHub pull requests
A brand-new GitHub pull requests tool window (VCS | Git | View Pull Requests) lets you view all the pull requests to the repository. Search them by state, assignee, author, etc., and easily create a new local branch with a simple right click.
Accessibility improvements
To make our tools accessible to as many people as possible, we’ve added a few new options to the Appearance section in the IDE’s settings (Settings | Appearance & Behavior | Appearance). Here, you’ll find a new High-contrast theme, expanded support for screen readers (they can now read line numbers, VCS annotations, and gutter icons tooltips) and an option to adjust IDE colors for people with color deficiencies.
High-contrast Theme
A High-contrast Theme is now available for CLion. You can either switch it on just for the editor (Ctrl+`) or for the whole IDE (Settings | Appearance & Behavior | Appearance | Theme).
Plugins
New Plugins UI
Plugins settings under Settings | Plugins have been redesigned from the ground up. The new UI makes it much easier to control the plugins installed in your CLion instance and keep them up-to-date.
Featured plugins and marketplace
You can see a list of the most valuable plugins for CLion located in the Featured plugins list. Or, sort all the plugins by rating or number of downloads.
If you are a plugin writer, check out our new platform for third-party plugin vendors.
Other improvements
CLion 2018.3 comes with the Swift Package Manager support in the Swift plugin. Simply open the SPM project in CLion and work with it – no additional configuration required. Read more and watch a short demo
Rust plugin was updated to get partial Rust 2018 support, Move analysis inspection and cargo unit testing support.