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:
Variable | Description |
---|---|
${GO_PACKAGE_NAME_WITH_TEST_SUFFIX} | Name of the package in which the new file is created if it's just regular file and package + '_test' suffix if the new file is a test file |
${GO_PACKAGE_NAME} | Name of the package in which the new file is created |
${DATE} | Current system date |
${DAY} | Current day of the month |
${DAY_NAME_SHORT} | First three letters of the current month name (Mon, Tue, and so on) |
${DAY_NAME_FULL} | Full name of the current day (Monday, Tuesday, and so on) |
${DIR_PATH} | Path to the directory of the new file (relative to the project root) |
${DS} | Dollar sign $ . This variable is used to escape the dollar character, so that it is not treated as a prefix of a template variable. |
${FILE_NAME} | Name of the new file |
${HOUR} | Current hour |
${MINUTE} | Current minute |
${SECOND} | Current second |
${MONTH} | Current month |
${MONTH_NAME_FULL} | Full name of the current month (January, February, and so on) |
${MONTH_NAME_SHORT} | First three letters of the current month name (Jan, Feb, and so on) |
${NAME} | Name of the new entity (file, type, interface, and so on) |
${ORGANIZATION_NAME} | Name of your organization specified in the project settings(Ctrl+Alt+Shift+S) |
${PRODUCT_NAME} | Name of the IDE (for example, GoLand) |
${PROJECT_NAME} | Name of the current project |
${TIME} | Current system time |
${USER} | Login name of the current user |
${YEAR} | 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:
If the value of a variable is not defined in the template, GoLand will ask you to specify it when the template is applied.