IntelliJ IDEA 13.1.0 Web Help

File | Settings | IDE Settings | File Templates

settings

Use this page to view, edit, create, and remove file templates.

The templates are listed in the left-hand part of the page. The tabs are used to switch between different groups of templates.

When you select a template, its settings and contents are shown in the right-hand part of the page. (The template contents are in the area under the Reformat according to style check box.)

Tabs

Tab Description
Templates The tab displays the available file templates. More file templates can be found on the Java EE tab.
Includes The tab shows the templates of reusable fragments that can be included in file templates.
Code The tab displays built-in snippets, that is, templates for code fragments that IntelliJ IDEA can generate in various typical situations, for example, for generating implemented or overridden method bodies.

You can edit the existing snippets but you cannot create new ones.

For any snippet that you have modified, the Reset button (link) is available in the upper right corner of the page which you can use to restore the initial state of the snippet.

Java EE The tab displays groups of Java EE-related and other templates.

The templates on this tab can be edited but cannot be removed. Creating new templates on this tab is not allowed.

To restore the initial state of any of the modified templates, use the Reset button (link) in the upper right corner of the page.

Toolbar icons

Item Tooltip Description
add.png Create Template Click this button to create a new template in the currently opened tab. The button is available in the Templates and Includes tabs.
delete.png Remove Template Click this button to delete the selected template. The button is available in the Templates and Includes tabs.
copy.gif Copy Template Click this button to create a copy of the selected template. The button is available in the Templates and Includes tabs.
resetProfileToDefault.png Reset to Default Click this button to restore an initial state for the selected template. The button is available only for modified templates. The names of the modified templates are shown in blue.

Template settings and contents

Item Description
Name In this text box, specify the name of the selected template.
Extension In this text box, specify the extension for IntelliJ IDEA to detect files, where the selected template should be applied during creation.
Reformat according to style Select this check box, to have IntelliJ IDEA reformat generated stub files according to the style defined on the Code Style page.
Template text Edit the template contents. You can use:
  • Plain text.
  • #parse directives to work with template includes.
  • Variables to be expanded into corresponding values in the format ${<variable_name>}.

    The available predefined file template variables are:

    • ${PACKAGE_NAME} - the name of the target package where the new class or interface will be created.
    • ${PROJECT_NAME} - the name of the current project.
    • ${FILE_NAME} - the name of the PHP file that will be created.
    • ${NAME} - the name of the new file which you specify in the New File dialog box during the file creation.
    • ${USER} - the login name of the current user.
    • ${DATE} - the current system date.
    • ${TIME} - the current system time.
    • ${YEAR} - the current year.
    • ${MONTH} - the current month.
    • ${DAY} - the current day of the month.
    • ${HOUR} - the current hour.
    • ${MINUTE} - the current minute.
    • ${PRODUCT_NAME} - the name of the IDE in which the file will be created.
    • ${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan, Feb, etc.
    • ${MONTH_NAME_FULL} - full name of a month. Example: January, February, etc.

    IntelliJ IDEA provides a set of additional variables for PHP include templates, that is, templates of reusable fragments that can be included in other PHP file template. The built-in PHP include templates are intended for generating file headers and PHPDoc documentation comments. The following variables are available in PHP include templates:

    • ${NAME} - the name of the class, field, or function (method) for which the PHPDoc comment will be generated.
    • ${NAMESPACE} - the fully qualified name (without a leading slash) of the class or field namespace.
    • ${CLASS_NAME} - the name of the class where the field to generate the PHPDoc comment for is defined.
    • ${STATIC} - gets the value static if the function (method) or field to generate the comment for is static. Otherwise evaluates to an empty string.
    • ${TYPE_HINT} - a prompt for the return value of the function (method) to generate the comment for. If the return type cannot be detected through the static analysis of the function (method), evaluates to void.
    • ${PARAM_DOC} - - a documentation comment for parameters. Evaluates to a set of lines @param type name. If the function to generate comments for does not contain any parameters, the variable evaluates to empty content.
    • ${THROWS_DOC} - a documentation comment for exceptions. Evaluates to a set of lines @throws type. If the function to generate comments for does not throw any exceptions, the variable evaluates to empty content.
    • ${DS} - a dollar character ($). The variable evaluates to a plain dollar character ($) and is used when you need to escape this symbol so it is not treated as a prefix of a variable.
    • ${CARET} - indicated the position of the caret after generating and adding the comment.

      Note

      This ${CARET} variable is applied only when a PHPDoc comment is generated and inserted during file creation. When a PHPDoc comment is created through Code | Generate | PHPDoc block, multiple selection of functions or methods is available so documentation comments can be created to several classes, functions, methods, or fields. As a result, IntelliJ IDEA cannot "choose" the block to apply the ${CARET} variable in, therefore in this case the ${CARET} variable is ignored.

    • You can prevent treating dollar characters ($) in template variables as prefixes. If you need a dollar character ($ inserted as is, use the ${DS} file template variable instead. When the template is applied, this variable evaluates to a plain dollar character ($).

      For example, to use some version control keywords (such as $Revision$, $Date$, etc.) in your default class template, write ${DS} instead of the dollar prefix ($).

    • IntelliJ IDEA doesn't prompt for the values of Velocity variables defined with #set.
  • Custom variables. Their names can be defined right in the template through the #set directive or will be defined during the file creation.
Description This read-only field provides information about the template, its predefined variables, and the way they work. The field is not available in custom templates.

See Also

Procedures:

Web Resources: