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).
For your mixed Python/C/C++ projects, CLion brings intelligent Python assistance, including Python support in the editor, Python console, debugging and testing tools.
CLion also supports web technologies and languages out of the box to make your development experience complete. It fully supports JavaScript, XML, HTML, CSS and Markdown, including all code editing and transformation features like syntax highlighting, completion, navigation and refactoring. All the Emmet features are also supported in CLion.
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).