IntelliJ IDEA 2023.3 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 and custom variables are available in the template body and in the filename. For example, if you type MyFile_${MONTH_NAME_FULL} in the File name field of your template, the resulting file will be named MyFile_April if you create it in April. Here, ${MONTH_NAME_FULL} is a predefined variable. If you use a custom variable instead, IntelliJ IDEA will prompt you to enter the variable value when you create a file based on this template.

Predefined template variables

The following predefined variables can be used in file templates:




Current system date


Current day of the month


Path to the directory of the new file from the content root


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


Name of the new PHP file (if the PHP plugin is enabled)


Current hour


Current minute


Current second


Current month


Full name of the current month (January, February, and so on)


First three letters of the current month name (Jan, Feb, and so on)


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


Name of the target package where the new class or interface file is created


Name of the IDE (for example, IntelliJ IDEA)


Name of the current project


Current system time


Login name of the current 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. Write the directive before the corresponding variable is used.

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

#set( $MyName = "John Smith" )

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

For example, you can create the following Java file template that will prompt you to enter the name of a method and a parameter of that method each time you create a new file based on this template:

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end public class ${NAME} { static void ${MethodName}(String ${Parameter}) { System.out.println(${Parameter}); } }

In this example, we use the ${MethodName} and ${Parameter} variables and do not set their values. When you create a file based on this template, IntelliJ IDEA will ask you to provide values for these variables:

Creating a file based on a file template

In the resulting file, the variables will be replaced with the values that you entered in the new file dialog (method and parameter names in this example):

package com.example.somepackage; public class newClass { static void newMethod(String myName) { System.out.println(myName); } }
Last modified: 11 February 2024