CLion 2018.2 Help

File Template Variables

A file template can contain variables, which are replaced by their values when the template is applied. A variable is a string that starts with a dollar sign ($) followed by the variable name. The variable name may optionally be enclosed in curly braces. For example: $MyVariable and ${MyVariable} are different notations of the same variable.

Predefined template variables

The following predefined variables can be used in file templates:




Base function call signature during the override generation


Current system date


Current day of the month


Default return value of the function


Dollar sign ($). This variable is used to escape the dollar character, so that it is not treated as a prefix of a template variable.


Caret position after you finish editing the variables


Name of the new C or C++ file


Always returns true and is used for testing purposes


Name of the header file generated for a class or a source file


Current hour


Prevents repeated include of a particular header file


Current minute


Current month


Full name of the current month (January, February, etc.)


First three letters of the current month name (Jan, Feb, etc.)


Name of the new entity (file, class, interface, and so on)


End of a namespace block created during refactoring


Beginning of a namespace block created during refactoring


Name of the IDE (for example, CLion)


Name of the current project


Type of the function's return value (used for generating new functions)


Google test suite name


Google test name


Current system time


For Windows and Linux: login name of the current user

For macOS: registered full name of the user


Current year

Custom template variables

Besides predefined template variables, it is possible to specify custom variables. If necessary, you can define the values of custom variables right in the template using the #set directive.

For example, if you want to use your full name instead of your login name defined through the predefined variable ${USER}, use the following construct:

#set( $MyName = "John Smith" )

If the value of a variable is not defined in the template, CLion will ask you to specify it when the template is applied.

Last modified: 27 November 2018