# 创建和编辑模板变量
在这个页面中:
* [基础](#基础)
* [在模板中配置和使用变量](#在模板中配置和使用变量)
* [在动态模板变量中使用的预定义变量](#在动态模板变量中使用的预定义变量)
## <span id='基础'>基础</span>
在一个[模板](/如何使用/常规指南/动态模板/README.md)展开之后,它的变量编辑器中呈现为输入区域。这些区域的值可以被用户编辑或者被PhpStorm计算填充。
要让它自动完成,每个变量你需要指定下面:
* 表达式,与变量相关的表达式来被计算
* 默认值,如果计算失败那么输入区域要被写入的默认值
PhpStorm中展开表达式之后输入区域的处理顺序,取决于列表中变量的顺序。
**<span id='在模板中配置和使用变量'>在模板中配置和使用变量</span>**
1. [打开模板设置](/如何使用/常规指南/动态模板/创建和编辑动态模板.md),然后在[模板文本](/参考/设置参数对话框/编辑器/动态模板/README.md#模板编辑区域)区域点击**Edit Variables**按钮。
**Edit Variables**按钮仅在模板主体中包含至少一个用户定义变量时可用,也就是说,和`$END$`或`$SELECTION$`不同的变量。
[编辑模板变量对话框](/参考/设置参数对话框/编辑器/动态模板/编辑模板变量对话框.md)打开了,在这你可以定义当模板使用时变量将被如何处理。
2. 在**Name**文本框,指定要在模板主体中使用的变量名。
3. 在**Expression**下拉列表中,指定要被PhpStorm计算的表达式当模板展开后。执行以下操作之一:
* 输入一个在两个引号中的字符串常量
* 输入一个预定义函数及可能的参数或者从下拉列表中选择一个
一个函数的参数可能是一个常量或者另一个预定义函数。参见页面下方的[预定义函数列表](#在动态模板变量中使用的预定义变量)。
4. 要启用PhpStorm来处理下一个输入区域,如果一个输入区域关联的当前变量已经定义,选择**Skip if defined**复选框
5. 要安排PhpStorm切换变量相应的输入框的顺序,使用**Move Up**或**Move Down**按钮。
## <span id='在动态模板变量中使用的预定义变量'>在动态模板变量中使用的预定义变量</span>
|**Item**|**Description**|
|---|---|
|`camelCase(String)`|返回作为参数传递的字符串,转换为驼峰式写法。例如`my-text-file`/`my text file`/`my_text_file`将被转换为`myTextFile`|
|`capitalize(String)`|将作为参数传递的名字的首字母大写|
|`capitalizeAndUnderscore(sCamelCaseName)`|将作为参数传来的驼峰式名字转为首字母大写,并在单词重建插入下划线。例如,如果传来的参数是`FooBar`,那么函数返回`FOO_BAR`。|
|`classNameComplete()`|这个表达式用来在变量位置替换[类名称](/如何使用/常规指南/代码补全/README.md)|
|`clipboard()`|返回系统剪贴板的内容|
|`snakeCase(String)`|从蛇形字符串返回驼峰式写法的字符串。例如,如果传来的参数字符串是`foo_bar`,函数将返回`fooBar`。|
|`complete()`|这个表达式在变量位置代替行使代码补全|
|`completeSmart()`|这个表达式在变量位置代替行使只能类型补全|
|`date(sDate)`|用指定格式返回当前系统日期。<br/>默认的,当前日期被返回为系统默认格式。然而,如果你用两个引号指定日期格式,日期将被呈现为指定格式:<br/>![指定日期格式](http://image.jellychen.cn/uploads/2016/11/date_format.png)|
|`decapitalize(sName)`|用相应的小写字母替换作为参数传递的名字的首字母。|
|`enum(sCompletionString1,sCompletionString2,...)`|用逗号分隔的字符串建议作为模板调用时的完成列表|
|`escapeString(sEscapeString)`|避开指定的字符串|
|`expectedType()`|返回整个模板期望的类型。这是有道理的,如果模板在正确的位置展开,在返回之后,等等|
|`fileName(sFileName)`|返回带扩展名的文件名|
|`fileNameWithoutExtension()`|返回文件名不要扩展名|
|`firstWord(sFirstWord)`|返回作为参数传递的字符串的第一个单词|
|`lineNumber()`|返回当前行号|
|`lowercaseAndDash(String)`|返回作为参数传递的字符串以用破折号分隔的小写形式。例如,字符串`MyExampleName`转换为`my-example-name`|
|`snakeCase(sCamelCaseText)`|从驼峰式写法的字符串返回蛇形字符串|
|`spaceSeparated(String)`|传递来的驼峰式字符串转换为空格分隔的单词。例如,如果川里来的字符串参数是`fooBar`,那么返回值就是`foo bar`|
|`time(sSystemTime)`|放回当前系统时间。|
|`timestamp()`|这个参数没有参数,返回的是1970-1-1到现在的毫秒时间。参考文章[Ubix time](https://en.wikipedia.org/wiki/Unix_time)|
|`underscoresToCamelCase(sCamelCaseText)`|从下环线分隔的字符串转换为驼峰式写法,例如,如果传来的参数是`foo_bar`,那么函数返回值就是`fooBar`|
|`underscoresToSpaces(sParameterWithSpaces)`|从下环线分隔的字符串转换为空格分隔式写法|
|`user()`|返回当前用户名称|
|`JsArrayVariable`|返回当前JavaScript数组名称|
|`jsClassName()`|返回JavaScript类名称|
|`jsComponentType`|返回当前JavaScript组件类型|
|`jsMethodName()`|返回当前JavaScript方法名称|
|`jsQualifiedClassName`|返回当前JavaScript类的完整名称|
|`jsSuggestIndexName`|返回索引的建议名称|
|`jsSuggestVariableName`|返回变量的建议名称|
# 另请参阅:
规程:
* [使用动态模板创建代码结构](/如何使用/常规指南/生成代码/使用动态模板创建代码结构.md)
* [创建和编辑动态模板](/如何使用/常规指南/动态模板/创建和编辑动态模板.md)
参考:
* [动态模板](/参考/设置参数对话框/编辑器/动态模板/README.md)
* [编辑模板变量对话框](/参考/设置参数对话框/编辑器/动态模板/编辑模板变量对话框.md)
概念:
* [动态模板](/如何使用/常规指南/动态模板/README.md)
- 前言
- 初见PhpStorm
- 系统要求
- 安装和启动
- 注册PhpStorm
- 快速开始引导
- 你不能错过的:快捷键
- 第一步
- 创建和运行你的第一个PHP项目
- 创建和运行你的第一个Web项目
- 如何使用
- 常规指南
- 用户界面引导
- 欢迎界面
- 菜单和工具栏
- 导航栏
- 状态栏
- PhpStorm视图模式
- 设置背景图片
- PhpStorm编辑器
- 基础编辑规程
- 在编辑器中打开和重新打开文件
- 在编辑器中关闭文件
- 在编辑器中选择文本
- 剪切复制粘贴
- 在PhpStorm和资源管理器之间复制粘贴
- 在编辑器中使用拖放
- 注释和取消注释代码块
- 保存和撤销更改
- 撤销和重做更改
- 透镜模式
- 多插入符
- 草稿
- 在编辑器中缩放
- 高级编辑规程
- 添加删除和移动代码元素
- 添加编辑器到收藏夹
- 改变缩进
- 代码折叠
- 基础
- 代码折叠方法
- 折叠预定义和自定义区域
- 折叠菜单的命令和关联的快捷键
- 指定代码折叠偏好
- 查看折叠的代码片段
- 使用代码折叠注释
- 查看当前插入符位置
- 格式化代码
- 切换可写状态
- 切换大小写
- 高亮括号
- 拼写检查
- 连接行和文字
- 分割字符串为多行
- 在表格格式编辑CSV和类似文件
- 在编辑器中使用宏
- 录制宏
- 回放宏
- 编辑宏
- 绑定宏到快捷键
- 管理编辑器标签页
- 配置编辑器标签行为
- 在不同标签页之间跳转
- 锁定和解锁标签页
- 分割和合并编辑窗口
- 分离编辑器标签
- 使用标签组编辑多文件
- 改变编辑器标签头的位置
- 编辑器标签排序
- 使用TODO
- 定义TODO模式和过滤器
- 创建TODO项
- 查看TODO项
- PhpStorm工具窗
- 操作工具窗
- 指定工具窗的外观设置
- 在工具窗快速搜索
- 查看模式
- 管理项目收藏夹
- 配置项目和IDE设置
- 访问默认设置
- 访问设置
- 配置代码风格
- 配置颜色和字体
- 为控制台配置配色方案
- 配置项目文件编码
- 配置单独的文件编码
- 配置快捷键
- 配置行分隔符
- 配置菜单和工具栏
- 配置快速访问列表
- 配置区块和文件颜色
- 配置第三方工具
- 复制代码风格设置
- 创建和注册文件类型
- 导入和导出设置
- 分享你的IDE设置
- 在方案之间切换
- 切换引导JDK
- 配置项目结构
- 配置根目录
- 在根目录中配置文件夹
- 在项目中排除文件
- 创建和管理项目
- 从头创建新项目
- 从现有代码导入项目
- 从本地代码创建项目
- 从下载的文件创建项目
- 从框架模板生成项目
- 使用Yeoman生成器创建项目
- 打开、重新打开和关闭项目
- 打开多个项目
- 保存项目为模板
- 清空系统缓存
- 重命名项目
- 文件和代码模板
- 解析指令
- 文件模板变量
- 创建和编辑文件模板
- 动态模板
- 简易、参数化和环绕模板
- 动态模板缩写
- 动态模板变量
- 动态模板组
- 创建和编辑动态模板
- 创建和编辑模板变量
- 分享动态模板
- 填充项目
- 创建目录
- 从模板创建文件
- 创建空文件
- 创建PHP类接口和特性
- 生成代码
- 使用动态模板创建代码结构
- 使用环绕模板创建代码结构
- 生成Getter和Setter
- 打开和移除语句
- 包住标签,应用环绕模板的例子
- 使用排列规则重新整理代码
- 用语言结构环绕代码块
- 使用后缀模板
- 代码补全
- 基本代码补全:补全名称和关键字
- 智能类型代码补全:基于输入信息补全代码
- 补全语句
- 补全路径
- 补全标点
- 补全标签名称
- 展开单词
- 使用建议列表
- 创建和优化导入
- 创建导入
- 优化导入
- 代码检查
- 访问检查设置
- 分析检查结果
- 配置检查严重性
- 改变当前文件高亮级别
- 自定义配置文件
- 禁用和启用检查
- 改变区块顺序
- 导出检查结果
- 解决问题
- 抑制检查
- 运行检查
- 通过名称运行检查
- 离线运行检查
- 自动应用快速修复
- 意向动作
- 应用意向动作
- 配置意向动作
- 禁用意向动作
- 查看页面Web内容
- 配置浏览器
- 在浏览器中预览页面Web内容
- 在编辑器中查看Web页面的HTML代码
- 查看参考信息
- 查看定义
- 查看内联文档
- 查看外部文档
- 查看方法参数信息
- 浏览源代码
- 使用书签跳转
- 管理书签
- 在文件和工具窗之间跳转
- 在IDE组件之间跳转
- 在方法和标签之间跳转
- 在测试和测试主题之间跳转
- 跳转到动作
- 跳转到大括号
- 根据名称跳转到类、文件或符号
- 跳转到自定义折叠区域
- 跳转到符号的声明或类型声明
- 跳转到超级方法或实现
- 跳转到文件路径
- 跳转到行
- 跳转到下一个或上一个更改
- 跳转到下一个或上一个错误
- 跳转到近期文件
- 跳转到已浏览项目
- 使用导航栏跳转
- 使用结构视图跳转
- 使用面包屑跳转
- 搜索代码
- 在文件中查找替换文本
- 在项目中查找替换文本
- 查找引用
- 在项目中查找引用
- 在当前文件查找引用
- 高亮引用
- 查看符号引用
- 查看近期查找引用
- 在插入符处查找词语
- 使用搜索结果
- 搜索全部
- 结构搜索和替换
- 搜索模板
- 结构搜索和替换-常规步骤
- 创建和编辑搜索模板
- 结构搜索和替换示例
- 重构代码
- 分析应用程序
- 运行调试配置
- 运行
- 调试
- 测试
- 代码覆盖率
- 服务端作业:拷贝文件
- 使用本地历史
- 版本控制概念
- 管理插件
- 管理任务和内容
- 使用命令行工具
- 使用文件观察者
- 使用嵌入式本地终端
- 从命令行启动PhpStorm特性
- 使用后台任务
- 使用语言注入
- 比较文件和文件夹
- 选择文件或文件夹
- 在PhpStorm和文件管理器之间复制粘贴
- 教程
- 参考
- 获取帮助