The new CLion 2018.1 EAP, build 181.4096.19 is now available! Patch update from the previous EAP build will be available shortly.
This build brings:
- C++17: structured bindings
- Editor improvements: breadcrumbs for C/C++
- Code transformations: Unwrap/remove code blocks
- WSL: custom paths for CMake, compiler and debugger
- Debugger: hex values
C++17: structured bindings
Structured binding introduced in C++17 is a convenient and compact way of binding a list of identifiers to a set of objects. The C++ language engine in CLion is now aware of this feature, thus handles it correctly and ensures more accurate code analysis with less false positives:
Editor improvements: breadcrumbs for C/C++
While reading the code or navigating through it, it’s good to easily keep track of your location within the code base. Breadcrumbs were created exactly for that type of navigation. These small markers at the bottom of the editor shows your current location inside namespaces, classes, structures, functions, and lambdas. Click on them to navigate to the corresponding code element:
Code transformations: Unwrap/remove code blocks
When editing complicated code with lots of nested statements, you sometimes need to accurately remove the enclosing parts. To avoid manual changes (that can break the code by accident), use Code -> Unwrap/Remove… action (Ctrl+Shift+Delete on Linux/Windows, ⌘⇧⌦ on macOS). It suggests the options depending on where your caret is:
In CLion for C and C++ you can now unwrap the following control statements:
try...catch, or just remove the enclosing statement (for example, when you’d like to extract a part of a ternary operator expression).
WSL: custom paths for CMake, compiler and debugger
We continue our work on WSL support in CLion. In this EAP we’ve addressed an issue with the custom paths to CMake, compiler and debugger executables. You can now provide any custom path to these tools in Build, Execution, Deployment | Toolchains settings for WSL.
Debugger: hex values
We are glad to share that we’ve started working on a top-voted debugger feature: hexadecimal formatting for numerical variables! It’s not there yet, but CLion now shows hex for simple types (int, long, char, etc.). Hexadecimal format for float or double is not yet available. However, we’ll be glad to get your feedback at this stage of development. To enable the feature, turn on cidr.debugger.value.numberFormatting.hex setting in Registry.
- In Find Action dialog (Shift+Ctrl+A on Linux/Windows, ⇧⌘A on macOS) type Registry; open Registry, type cidr.debugger.value.numberFormatting.hex (or just hex) to search for the setting and turn it on.
- In Build, Execution, Deployment | Debugger | Data Views | C/C++ settings turn on showing hex values for numbers:
The setting is also available from the Debug tool window.
You can now see hexadecimal values in the debug tool window:
and in the editor (in Inline Variables View):
Hexadecimal formatting for simple types is available for both debuggers (GDB, LLDB) on all platforms, including remote debug case and WSL.
That’s it! Full release notes are available by the link.
Your CLion Team
The Drive to Develop