💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 创建和编辑模板变量 在这个页面中: * [基础](#基础) * [在模板中配置和使用变量](#在模板中配置和使用变量) * [在动态模板变量中使用的预定义变量](#在动态模板变量中使用的预定义变量) ## <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)