文件模板变量
一个 file template 可以包含变量,在应用模板时会被其值替换。 变量是一个以美元符号开头的字符串 $ ,后跟变量名。 变量名称可以选择性地用花括号括起来。 例如: $MyVariable 和 ${MyVariable} 是同一个变量的不同表示法。
在模板主体和文件名中可以使用预定义和自定义变量。 例如,如果您在模板的 文件名 字段中输入 MyFile_${MONTH_NAME_FULL} ,生成的文件会在四月份创建时命名为 MyFile_April。 这里, ${MONTH_NAME_FULL} 是一个 预定义变量。 如果您使用 自定义变量,那么 PyCharm 会在您基于此模板创建文件时提示您输入变量值。
预定义模板变量
文件模板中可以使用以下预定义变量:
变量 | 描述 |
|---|---|
| 当前系统日期 |
| 当前日期 |
| 新文件所在目录的路径(相对于项目根目录) |
| 美元符号 |
| 新文件的名称 |
| 当前小时 |
| 当前分钟 |
| 当前秒 |
| 当前月份 |
| 当前月份的全名(如一月、二月等) |
| 当前月份名称的前三个字母(如 Jan、Feb 等) |
| 新实体的名称(文件、类、接口等) |
| IDE 名称(例如,PyCharm) |
| 当前项目的名称 |
| 当前系统时间 |
| 当前用户的登录名 |
| 当前年份 |
变量方法
由于 PyCharm 使用 Velocity 作为文件模板的模板引擎,您可以在模板中使用方法和逻辑结构。
Java String 方法
模板变量支持 Java String 方法。 例如,以下是可能的:
${NAME.toUpperCase()}:将新实体(文件)的名称转换为大写字母。${PROJECT_NAME.length()}:打印项目名称的长度。${PRODUCT_NAME.substring(0,5)}:打印您使用的 IDE 名称的前五个字符。
VTL 指令
除了变量方法,PyCharm 还支持一些 VTL 指令 ,例如:
#set:定义自定义变量。#if、#else:条件语句。#foreach:迭代。
例如,您可以使用条件语句根据变量值调整模板的输出:
自定义模板变量
除了预定义模板变量,还可以指定自定义变量。 如果必要,可以在模板中使用 #set 指令直接定义自定义变量的值。 请在使用对应变量之前编写该指令:
如果变量的值在模板中未定义,PyCharm将会在应用模板时要求您指定该值。