# 文件和代码模板
在这个部分:
* 文件和代码模板
* [概述](#概述)
* [项目和默认方案](#项目和默认方案)
* [预定义、内部和定制模板](#预定义、内部和定制模板)
* [什么时候使用文件和代码模板](#什么时候使用文件和代码模板)
* [解析指令](/如何使用/常规指南/文件和代码模板/解析指令.md)
* [文件模板变量](/如何使用/常规指南/文件和代码模板/文件模板变量.md)
* [创建和编辑文件模板](/如何使用/常规指南/文件和代码模板/创建和编辑文件模板.md)
## 概述
文件模板是创建文件时要被生成的内容规范。它们可以让你创建的源文件已经包含了一些初始代码。
你可以查看,编辑和创建模板在设置参数对话框的[文件和代码模板页面](/参考/设置参数对话框/编辑器/文件和代码模板.md)
文件和代码模板使用[Velocity Template Language](http://velocity.apache.org/)(VTL)语言来编写。
所以它们可能包含:
* 固定文本(标记,代码,注释等等)。在基于这个模板创建的文件中,这些固定文本按原样显示
* [文件模板变量](/如何使用/常规指南/文件和代码模板/文件模板变量.md)。当创建一个文件,这些变量可能用它们的值替换。
* [解析指令](/如何使用/常规指南/文件和代码模板/解析指令.md)来包含其它的模板,这些被包含的模板在设置参数对话框的**文件和代码模板**页面的**Includes**标签页中被定义。
* 其它VTL结构
这有一个典型的例子(这个模板用来创建JavaScript文件):
```bash
/**
* Created by ${USER} on ${DATE}
*/
```
在这个模板中,`${USER}`和`${DATE}`是模板变量。
应用这个模板将导致生成一个文件类似下面的内容:
```JavaScript
/**
* Created by John.Smith on 6/7/11
*/
```
## 项目和默认方案
PhpStorm建议使用文件和代码模板在项目或全局(默认)级别
如果你需要一些可分享的文件和代码模板,这些模板应该是每个项目都能访问的;否则这个模板是全局的并适用于整个工作空间。
文件和代码模板储存在一下位置:
* 默认(全局)模板储存在PhpStorm家目录,在文件夹`config | fileTemplates`中
* 项目的文件和代码模板储存在`.idea | fileTemplates`文件夹。这些模板可以在项目成员之间分享。
参考章节[项目和IDE设置](/参考/项目和IDE设置.md)来学习设置储存在哪里,和[文件和代码模板](/参考/设置参数对话框/编辑器/文件和代码模板.md)章节查看方案区域的描述。
## 预定义、内部和定制模板
PhpStorm自带一套预定义的文件和代码模板。你可以按照原样使用这些模板或者根据需要修改它们。你也可以创建自己的模板(定制模板)
内部文件和代码模板是预定义模板的子集。这些模板不同于所有其它模板,因为这些模板不可删除。
在设置参数对话框的[文件和代码模板](/参考/设置参数对话框/编辑器/文件和代码模板.md)页面,内部模板的名字加粗显示。定制模板和修改过的预定义模板的名字显示为蓝色的。
## 什么时候使用文件和代码模板
每当你创建一个新文件,你可以选择创建一个空文件(例如**File | New | File**)或使用文件模板。在后面的情况下,新文件的初始内容是按照选择的模板(基本上,**New**菜单中除了**File**和**Directory**的所有选项都是使用模板)
![用模板新建文件](http://image.jellychen.cn/uploads/2016/11/phpstorm_new_menu.png)
# 另请参阅:
规程:
* [从模板创建文件](/如何使用/常规指南/填充项目/从模板创建文件.md)
* [创建和编辑文件模板](/如何使用/常规指南/文件和代码模板/创建和编辑文件模板.md)
参考:
* [文件和代码模板](/参考/设置参数对话框/编辑器/文件和代码模板.md)
概念:
* [文件模板变量](/如何使用/常规指南/文件和代码模板/文件模板变量.md)
* [解析指令](/如何使用/常规指南/文件和代码模板/解析指令.md)