CLion Features in Different Languages
Tables below show which CLion feature is available for which language.
In addition to the presented languages, CLion supports TypeScript, CoffeeScript, Less, Sass/SCSS, Stylus, XSLT and XPath by default, and many other languages (e.g. Rust, Fortran, Swift, Kotlin/Native) via plugins.
Main features
C/C++ | Objective- | Python | Java- | HTML | CSS | XML | JSON | YAML* | |
---|---|---|---|---|---|---|---|---|---|
Recognized file types | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Syntax highlighting | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Formatting | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Debug | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
* Basic YAML support can be extended with plugins: SnakeYAMLPlugin and YAML/Ansible support
** To enable code styles and color schemes for Objective-C/C++, set the clion.enable.objc.settings field in the Registry (see Objective-C/C++ Support for instructions).
Code analysis and assistance
C/C++ | Objective- | Python | Java- | HTML | CSS | XML | JSON | YAML | |
---|---|---|---|---|---|---|---|---|---|
Code inspection | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Quick fixes | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Intention actions | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Code completion | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Smart completion | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
* Code completion is performed based on JSON schema
Navigation and search
C/C++ | Objective- | Python | Java- | HTML | CSS | XML | JSON | YAML | |
---|---|---|---|---|---|---|---|---|---|
Find usages | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
GoTo actions | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Type hierarchy | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Method hierarchy | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Import hierarchy | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
File structure view | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Related symbols | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Refactorings
C/C++ | Objective- | Python | Java- | HTML | CSS | XML | JSON | YAML | |
---|---|---|---|---|---|---|---|---|---|
Change signature | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Extract / Inline | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Rename | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Copy | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Move | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Safe delete | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Templates
C/C++ | Objective- | Python | Java- | HTML | CSS | XML | JSON | YAML | |
---|---|---|---|---|---|---|---|---|---|
Code templates | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Live templates | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
File templates | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
* Google Test code templates are also available