CLion 2021.1 Help

CLion features in different languages

Tables below show what CLion features are available for each of the supported languages.

In addition to the presented languages, CLion also supports TypeScript, CoffeeScript, Less, Sass/SCSS, Stylus, XSLT, and XPath by default, and many other languages via plugins (for example, Rust, Fortran, Swift).

Main features

LanguageC/C++Objective-
C/C++
PythonJava-
Script
HTMLCSSXMLJSONYAML*
Recognized file typesLanguage: C/C++Language: Obj/C++Language: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAMLLanguage: Python
Syntax highlightingLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
FormattingLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
DebugLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML

* 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

LanguageC/C++Objective-
C/C++
PythonJava-
Script
HTMLCSSXMLJSONYAML
Code inspectionLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Quick fixesLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Intention actionsLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Code completionLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Smart completionLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML

* Code completion is performed based on JSON schema

Navigation and search

LanguageC/C++Objective-
C/C++
PythonJava-
Script
HTMLCSSXMLJSONYAML
Find usagesLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
GoTo actionsLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Type hierarchyLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Method hierarchyLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Import hierarchyLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
File structure viewLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Related symbolsLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML

Refactorings

LanguageC/C++Objective-
C/C++
PythonJava-
Script
HTMLCSSXMLJSONYAML
Change signatureLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Extract / InlineLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
RenameLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
CopyLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
MoveLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Safe deleteLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML

Templates

LanguageC/C++Objective-
C/C++
PythonJava-
Script
HTMLCSSXMLJSONYAML
Code templatesLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
Live templatesLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML
File templatesLanguage: C/C++Language: Obj/C++Language: PythonLanguage: JavaScriptLanguage: HTMLLanguage: CSSLanguage: XMLLanguage: JSONLanguage: YAML

* Google Test code templates are also available

Last modified: 08 March 2021