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 coming from AppCode.
Kotlin/Native is a brand new technology that compiles Kotlin directly to machine code. The list of supported platforms include iOS, Android, MacOS (x86_64), Windows (x86_64), Linux (x86_64), and some more. Kotlin/Native is supported in CLion via plugins.
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.
Swift support plugin makes the idea of Swift IDE on Linux possible. Smart coding assistance (with Find Usages, Rename refactoring, Override/Implement code generation, generate type from usage), SourceKit inspections and intentions and even debugging are included.
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.
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
Behavior | Plugins settings to find out more or set them up during the
first IDE launch).