动态模板变量

在这个页面中:

什么是模板变量

在动态模板中模板变量允许用户输入。当一个模板展开后,模板出现在编辑器中作为输入字段

声明模板变量

模板中的变量按以下格式声明:

  1. $<variable_name>$

创建和编辑模板变量

变量通过表达式定义,并且可以接受默认值。

表达式可能包含以下基础类型结构:

  • 两个引号中的字符串常量
  • 动态模板中定义的另一个变量的名字
  • 预定义函数及可能的参数

模板变量可以在编辑模板变量对话框中编辑,这包含一个完整的可用函数列表。参见本页下方的预定义方法列表

预定义模板变量

PhpStorm提供两个预定义动态模板变量$END$$SELECTION$

你不能编辑预定义动态模板变量$END$$SELECTION$

  • $END表明光标的位置在展开的模板之后。例如,模板return $END$;将展开到:
  1. return ;

光标位置在分号之前。

  • $SELECTION$用在环绕模板中并且用来代表要被包围的代码片段。在模板展开之后,被选中的文本将在模板中被围绕。

例如,如果你在代码中选择EXAMPLE并调用"$SELECTION$"模板(通过分配的缩写或按下Ctrl+Alt+T并从列表中选择目标的模板),PhpStorm将用两个引号包围选中的部分,就像下面:

  1. "EXAMPLE"

在模板变量中使用预定义方法

Item Description
camelCase(String) 返回作为参数传递的字符串,转换为驼峰式写法。例如my-text-file/my text file/my_text_file将被转换为myTextFile
capitalize(String) 将作为参数传递的名字的首字母大写
capitalizeAndUnderscore(sCamelCaseName) 将作为参数传来的驼峰式名字转为首字母大写,并在单词重建插入下划线。例如,如果传来的参数是FooBar,那么函数返回FOO_BAR
classNameComplete() 这个表达式用来在变量位置替换类名称
clipboard() 返回系统剪贴板的内容
snakeCase(String) 从蛇形字符串返回驼峰式写法的字符串。例如,如果传来的参数字符串是foo_bar,函数将返回fooBar
complete() 这个表达式在变量位置代替行使代码补全
completeSmart() 这个表达式在变量位置代替行使只能类型补全
date(sDate) 用指定格式返回当前系统日期。
默认的,当前日期被返回为系统默认格式。然而,如果你用两个引号指定日期格式,日期将被呈现为指定格式:
指定日期格式
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
underscoresToCamelCase(sCamelCaseText) 从下环线分隔的字符串转换为驼峰式写法,例如,如果传来的参数是foo_bar,那么函数返回值就是fooBar
underscoresToSpaces(sParameterWithSpaces) 从下环线分隔的字符串转换为空格分隔式写法
user() 返回当前用户名称
JsArrayVariable 返回当前JavaScript数组名称
jsClassName() 返回JavaScript类名称
jsComponentType 返回当前JavaScript组件类型
jsMethodName() 返回当前JavaScript方法名称
jsQualifiedClassName 返回当前JavaScript类的完整名称
jsSuggestIndexName 返回索引的建议名称
jsSuggestVariableName 返回变量的建议名称

另请参阅:

规程:

参考: