Supported languages

C++

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.

C++ features supported by CLion

C

CLion supports C standards up to C99, C11 is supported partially (C11 keywords are completed: _Thread_local, _Alignas, _Noreturn, _Static_assert, and _Atomic).

Python

For your mixed Python/C/C++ projects, CLion brings intelligent Python assistance, including Python support in the editor, Python console, debugging and testing tools.

Find more details

Web

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.

Linker scripts

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

Fortran plugin comes with FORTRAN 77 / 90 / 95 / 2003 and 2008 support. The capabilities include smart editor, navigation actions, code analysis and debugger.

Find more details.

Shell script

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.

QML

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.

Other

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).