创建和编辑文件模板
PhpStorm提供几种方法来创建文件模板:
从头开始创建文件模板
- 打开设置参数对话框,在编辑器节点下,选择文件和代码模板
- 切换到Files标签页
在工具栏点击并指定模板名称,文件扩展名,和模板的主体,可以包含:
- 纯文本。
#parse
指令用来包含文件- 预定义变量将被展开到相应的值,用以下格式
${<variable_name>}
可用的预定义文件模板变量有:
* `${PROJECT_NAME}` - 当前项目的名称
* `${FILE_NAME}` - 将被创建的PHP文件名称
* `${NAME}` - 在创建文件期间在新建文件对话框中指定的文件名称
* `${USER}` - 系统的当前用户登录名称
* `${DATE}` - 当前系统日期
* `${TIME}` - 当前系统时间
* `${YEAR}` - 当前年份
* `${MONTH}` - 当前月份
* `${DAY}` - 当前月的日期
* `${HOUR}` - 当前时刻
* `${MINUTE}` - 当前分钟
* `${PRODUCT_NAME}` - 将被创建文件所在的IDE名称
* `${MONTH_NAME_SHORT}` - 月份名称的前3个字母,例如: Jan, Feb, etc.
* `${MONTH_NAME_FULL}` - 月份全称,例如: January, February, etc.
PhpStorm为[PHP包含模板]($如何使用-常规指南-文件和代码模板-参考-设置参数对话框-编辑器-文件和代码模板.md)提供一组额外变量,也就是,可重用模板可以被包含到其它**PHP file template**。内置**PHP file template**用于生成文件头和[PHP文档注释]($如何使用-常规指南-文件和代码模板-如何使用-语言和框架-具体指南-PHP-具体指南-创建PHP注释文档.md)。下列变量在**PHP include templates**中可用:
* `${NAME}` - PHP文档注释将被生成位置的类、字段或函数(方法)的名称。
* `${NAMESPACE}` - 类或字段的命名空间的全称(除了开头的反斜杠)。
* `${CLASS_NAME}` - PHP文档注释将被生成位置所在类的名称。
* `${STATIC}` - 获取`static`如果要生成注释位置的方法或字段是静态的。否则变成一个空字符串。
* `${TYPE_HINT}` - 要生成注释的函数的返回值提示。如果在函数静态解析的过程中没有发现返回值,它被作为`void`。
* `${PARAM_DOC}` - 参数的一个文档注释。展开为一行`@param type name`。如果要生成文档的函数不包含注释,这个变量被作为空内容。
* `${THROWS_DOC}` - 异常的一个注释文档。被作为一行`@throws type`。如果要生成文档的函数没有抛出异常,这个变量被作为空内容。
* `${DS}` - 一个美元(`{$}`)字符。这个变量被作为文本的美元字符(`{$}`)并被用来作为纯符号而不被作为一个变量的前缀。
* `${CARET}` - 表明在生成文档注释之后插入符的位置。
`${CARET}`变量仅在PHP文档注释被生成和文件创建期间可用。当使用**Code | Generate | PHPDoc block**创建一个PHP文档注释,可以多选要创建文档注释的可用的函数和方法,如类、函数、方法或者字段。作为结果,PhpStorm可以“选择”要应用`${CARET}`的代码块,因此在这种情况下`${CARET}`被忽略。
4. 自定义变量。它们的名字可以在模板中用`#set`指令定义或在文件创建期间定义。
- 要使用原本的美元富符号
$
,使用${DS}
文件模板变量。当应用模板时,这个变量被作为一个文本美元字符($
)。 - 应用改变并保存对话框。
从已存在的一个创建文件模板
- 打开文件模板设置页面并切换到Files标签页。
- 在工具栏点击,并然后修改模板名称,扩展名,和所需的代码
- 应用改变并关闭对话框。
从文件创建文件模板
- 在编辑器中打开目标文件
- 在主菜单,选择Tools | Save File as Template
- 在打开的文件和代码模板对话框指定新模板名称并编辑代码,如果需要的话。
- 应用改变并关闭对话框。
创建和引用包含模板
包含模板用来定义可重用代码块来通过#parse
指令插入到文件模板中。内置PHP file template用于生成文件头和PHP文档注释。你也可以定义自己的模板。
- 在文件模板设置页面,切换到Includes标签页。
在工具栏点击并指定模板名称,文件扩展名,和代码。做以下之一:
- 使用预定义文件模板变量
创建自定义模板变量并在包含模板中使用
#set
VTL指令定义他们的值。例如,如果你想使用你的姓名而不是登录名(通过预定义变量
${USER}
定义的),写以下的结构:#set( $MyName = "John Smith" )
如果这个变量的值没有在模板中定义,PhpStorm将在模板应用时询问你来指定它。
你可以防止在模板中美元符号
$
被作为变量前缀。如果你需要原本的美元富符号$
,使用${DS}
文件模板变量。当应用模板时,这个变量被作为一个文本美元字符($
)。
要使用包含模板,切换到Templates标签,选择目标目标并点击Edit
- 要包含一个模板,在代码中插入#parse指令
另请参阅:
规程:
参考:
概念: