【GoLand教程】详解 GoLand File templates文件模版

配置:Ctrl+Alt+S 设置/首选项 | 编辑 | 文件和代码模板
文件模板是您创建的新文件的默认内容的规范。根据您正在创建的文件类型,模板会提供该类型的所有文件中预期的初始代码和格式(根据行业或语言标准、您的公司政策或其他原因)。
GoLand 为您创建新文件时建议的所有受支持文件类型提供预定义模板。建议的文件类型集取决于模块和配置,以及项目工具窗口中当前位置的属性。例如,GoLand 不会建议在 Java 源或测试目录之外创建 Java 类文件。
管理和配置文件模板
- 按Ctrl+Alt+S打开 IDE 设置并选择Editor | 文件和代码模板。
默认情况下,模板列表仅包含 GoLand 提供的预定义模板。其中一些是内部的,这意味着它们不能被删除或重命名。GoLand 以粗体显示内部模板的名称。您修改的模板的名称以及您手动创建的自定义模板以蓝色显示。
以下过程描述了如何创建文件模板。
创建一个新的文件模板
- 按Ctrl+Alt+S打开 IDE 设置并选择Editor | 文件和代码模板。
- 在“文件”选项卡上,单击
并指定模板名称、文件扩展名、生成文件的名称和模板正文。
- 应用更改并关闭对话框。
复制现有文件模板
- 按Ctrl+Alt+S打开 IDE 设置并选择Editor | 文件和代码模板。
- 在文件选项卡上,单击
并根据需要修改模板的名称、文件扩展名和正文。
- 应用更改并关闭对话框。
将文件另存为模板
- 在编辑器中打开一个文件。
- 从主菜单中,选择文件 | 将文件另存为模板。
- 在“将文件另存为模板”对话框中,指定新模板名称并根据需要编辑正文。
- 应用更改并关闭对话框。
句法
文件模板使用Velocity 模板语言(VTL),它包括以下结构:
- 按原样呈现的纯文本。
- 被其值替换的变量。例如,
${NAME}
在添加文件时插入用户提供的名称。 - 各种指令,包括#parse、
#set
、#if
等。
开始输入$
或#
查看可用变量和指令的完成建议。
以下示例显示了在 GoLand 中创建 JavaScript 类的默认模板:
/**
* Created by ${USER} on ${DATE}
*/
在这个模板中,${USER}
和${DATE}
是模板变量。
当您创建一个新的 JavaScript 文件时,此模板会生成一个文件,其内容类似于以下内容:
/**
* Created by John.Smith on 6/7/11
*/
文件模板变量
文件模板可以包含变量,这些变量在应用模板时被它们的值替换。变量是以美元符号$
开头后跟变量名的字符串。变量名可以选择用花括号括起来。例如:$MyVariable
和${MyVariable}
是同一变量的不同表示法。
模板主体和文件名中提供了预定义和自定义变量。例如,如果您MyFile_${MONTH_NAME_FULL}
在模板的“文件名MyFile_April
”字段中键入,则如果您在 4 月创建结果文件,则该文件将被命名。这里,${MONTH_NAME_FULL}
是一个预定义的变量。如果您改用自定义变量,GoLand 会在您基于此模板创建文件时提示您输入变量值。
预定义的模板变量
以下预定义变量可用于文件模板:
多变的 | 描述 |
---|---|
${GO_PACKAGE_NAME_WITH_TEST_SUFFIX} | 如果只是常规文件,则在其中创建新文件的包的名称,如果新文件是测试文件,则为包 + '_test' 后缀 |
${GO_PACKAGE_NAME} | 在其中创建新文件的包的名称 |
${DATE} | 当前系统日期 |
${DAY} | 每月的当前日期 |
${DAY_NAME_SHORT} | 当前月份名称的前三个字母(Mon、Tue 等) |
${DAY_NAME_FULL} | 当天的全名(周一、周二等) |
${DIR_PATH} | 新文件的目录路径(相对于项目根目录) |
${DS} | 美元符号$ 。此变量用于转义美元字符,使其不被视为模板变量的前缀。 |
${FILE_NAME} | 新文件的名称 |
${HOUR} | 当前时间 |
${MINUTE} | 当前分钟 |
${SECOND} | 当前秒 |
${MONTH} | 这个月 |
${MONTH_NAME_FULL} | 当月全名(一月、二月等) |
${MONTH_NAME_SHORT} | 当前月份名称的前三个字母(Jan、Feb 等) |
${NAME} | 新实体的名称(文件、%class%、接口等) |
${ORGANIZATION_NAME} | 在项目设置中指定的组织名称 ( Ctrl+Alt+Shift+S) |
${PRODUCT_NAME} | IDE 的名称(例如,GoLand) |
${PROJECT_NAME} | 当前项目名称 |
${TIME} | 当前系统时间 |
${USER} | 当前用户的登录名 |
${YEAR} | 今年 |
自定义模板变量
除了预定义的模板变量外,还可以指定自定义变量。#set
如有必要,您可以使用指令在模板中定义自定义变量的值。在使用相应变量之前编写指令。
例如,如果您想使用您的全名而不是通过预定义变量定义的登录名${USER}
,请在您的自定义变量之前添加以下构造:
#set( $MyName = "John Smith" )
如果模板中未定义变量的值,GoLand 会在应用模板时要求您指定它。