CLion comes with two language engines. A complementary clangd-based language engine is used for code highlighting in the editor, code completion, error annotation, some search and navigation actions. CLion's own language engine is the basis for all other smart IDE actions. Both engines work with libc++ and Boost, and correctly handles templates and macros.
CLion supports C standards up to C99, C11 is supported partially (C11 keywords are completed: _Thread_local, _Alignas, _Noreturn, _Static_assert, and _Atomic).
Work with files in Objective-C / Objective-C++ added to your CMake project and benefit from the multiple smart features.
For your mixed Python/C/C++ projects, CLion brings intelligent Python assistance, including Python support in the editor, Python console, debugging and testing tools.
The popularity of Rust grows, and thus we offer a Rust plugin in CLion and other JetBrains IDEs. Rust support in CLion comes with Cargo build system, New Project wizard and a debugger.
If you develop for embedded systems, chances are that you need to write linker scripts. CLion comes with Linker Script (LD) language support, which includes code highlighting in LD files, code completion, structure view for top-level commands, code folding, commenting / uncommenting, and Find Usages for simple cases.
Fortran plugin comes with FORTRAN 77 / 90 / 95 / 2003 and 2008 support. The capabilities include smart editor, navigation actions, code analysis and debugger.
If you need to edit shell scripts while you are working on your C++ project, you can do this with CLion as it bundles the Shell Script plugin.
You can benefit from code highlighting, word and path completion, and even textual Rename.
If you are using Qt Modeling Language (QML) in your code, you will now benefit from the QML syntax support in CLion. This includes better editing experience with code highlighting and code completion, instant search for usages, Structure View for easier navigation in QML files, and the Quick Documentation popup for information about the symbols under the caret.
A plugin for YAML, famous data
serialization standard, is bundled and is on by default in
CLion. Support for other languages can also be added via plugins (go to
Appearance and Behavior | Plugins settings to find out more or set them up during the
first IDE launch).