# 分享动态模板
在这个页面中:
* [用预定义或自定义动态模板配置文件](#用预定义或自定义动态模板配置文件)
* [手动的通过配置文件分享动态模板](#手动的通过配置文件分享动态模板)
* [通过导入导出分享动态模板](#通过导入导出分享动态模板)
* [不同IDE之间分享模板的例子](#不同IDE之间分享模板的例子)
* [在模板组之间分享动态模板](#在模板组之间分享动态模板)
## 用预定义或自定义动态模板配置文件
PhpStorm储存那些添加到预定义组中的自定义组和模板到一个自动生成的配置文件```.xml```中。
* 对于自定义组,这个文件包含组中包含的所有模板的定义
* 对于定制后的预定义组,这个文件仅包含新添加的模板的定义
基于你使用的操作系统,```.xml```文件储存在以下位置:
* **Windows**:```.PhpStorm\config\templates```
* **Linux**:```~PhpStorm\config\templates```
* **OS X**:```~/Library/Preferences/PhpStorm/templates```
## 手动的通过配置文件分享动态模板
1. 打开[设置参数对话框](/参考/设置参数对话框/README.md)通过按`Ctrl+Alt+S`或选择**File | Settings**(Win/\*NIX)或**PhpStorm | Preferences**(OS X),然后在**Editor**中点击**Live Templates**。
2. 创建所需的自定义模板组并且根据需要更新相应的预定义组,然后点击**OK**。基于这些改变,PhpStorm生成`.xml`文件,参见上方的[自定义动态模板的位置](#自定义动态模板的位置)
3. 定位到生成的`.xml`文件并执行以下操作之一:
* 要在你的团队中分享模板,发送相应的文件和说明给它们来保存这个文件到`templates`目录中。
* 要在你的别的安装PhpStorm的电脑上使用这个模板,复制这个相关文件到相应的`PhpStorm`目录中的`templates`文件夹中。
## 通过导入导出分享动态模板
PhpStorm可以通过标准的**导入导出**功能让你很容易的在队伍成员,多个PhpStorm安装电脑,甚至是不同的IDE之间分享动态模板。你可以分享自定义模板组和更新的预定义组。
1. 打开[设置参数对话框](/参考/设置参数对话框/README.md)通过按`Ctrl+Alt+S`或选择**File | Settings**(Win/\*NIX)或**PhpStorm | Preferences**(OS X),然后在**Editor**中点击**Live Templates**。
2. 创建所需的自定义模板组并根据需要更新相关的预定义组然后点击**OK**。基于这些选择,PhpStorm生成`.xml`文件,参见上方的[自定义动态模板的位置](#自定义动态模板的位置)# 分享动态模板
3. 在主菜单,选择**File | export Settings**
4. 在打开的导出设置对话框,选择**Live Template**复选框并指定将要导出的`.jar`文件名称和储存的位置。当你点击**OK**,PhpStorm生成指定名称的文件根据储存在`templates`目录中的`.xml`文件。
5. 执行以下操作之一:
* 要分享这些模板在你的队伍之间,传递这个生成的`.jar`文件给他们以及以下说明:
1. 保存接收到的`.jar`文件到你的电脑
2. 在主菜单选择**File | Import Settings**然后指定接收到的`.jar`文件的位置。
3. 在打开的**Select Components to Import**对话框,选择**Live Templates**复选框并点击**OK**
PhpStorm重启后这些导入的模板显示在**Live Templates**页面。
* 要在其它安装PhpStorm的电脑上火这其它IDE中使用这些模板,打开所需的程序,在主菜单选择**File | Import Settings**,然后指定生成的`.jar`文件的位置。
### 不同IDE之间分享模板的例子
在不同IDE之间分享时请小心。如果你导出自定义模板(更新)从一个组,这个组在源IDE中是预定义的但是在目标IDe中不是预定义的,这个组将被创建但是仅包含自定义模板。下面的例子显示发生了什么如果我们将WebStrom中添加模板到预定义组然后导入到PhpStorm中使用。
在WebStrom,`Dart`组是预定义的。如果我们添加`t (tag pair)`模板到它里面,更新将保存到`Dart.xml`文件中。
![WebStrom动态模板设置](http://image.jellychen.cn/uploads/2016/11/ws_sharing_templates_source_ide.png)
在PhpStorm,没有预定义的模板组`Dart`。所以当我们从WebStrom导出动态模板并将它们导入到PhpStorm,一个`Dart`组被创建但是它仅包含`t (tag pair)`模板,这是在WebStrom导出之前添加的。
![动态模板导入到PhpStorm](http://image.jellychen.cn/uploads/2016/11/ws_sharing_templates_target_ide.png)
## 在模板组之间分享动态模板
你可以复制和移动模板从一个组到另一个组。
1. 打开[设置参数对话框](/参考/设置参数对话框/README.md)通过按`Ctrl+Alt+S`或选择**File | Settings**(Win/\*NIX)或**PhpStorm | Preferences**(OS X),然后在**Editor**中点击**Live Templates**。
2. 执行以下操作之一:
* 要复制一个模板到另一个组:
1. 选择感兴趣的模板。使用`Ctrl`和`Shift`键可以选择多个
2. 在选中项的上下文菜单中选择**Copy**
3. 选择要复制到的组并在选中项的上下文菜单中选择**Padlt**
* 要移动一个模板到另一个组,选择所需的模板,在选中项上下文菜单中选择**Move**并选择要移动到的模板组。
# 另请参阅:
参考:
* [动态模板](/参考/设置参数对话框/编辑器/动态模板/README.md)