PhpStorm 2021.3 Help

编辑模板变量对话框

如果实时模板包含用户定义的变量,您可以使用编辑模板变量对话框来配置定义这些变量的表达式。

控件

姓名

在此字段中,查看或编辑格式为 的变量名称$<variable_name>$

表达

在此字段中,指定表达式以自动计算相应模板输入字段的值。

此表达式可能包含以下结构:

  • 双引号中的字符串常量

  • 实时模板中定义的其他变量的名称

  • 带有可能参数的预定义函数

手动键入表达式或从列表中选择预定义函数。该列表还显示所选函数的参数数量和类型(如果有)。可用函数按字母顺序在函数表中列出。

默认值

在该字段中,指定在扩展模板的相应输入字段中输入的默认字符串,如果表达式计算后没有给出任何结果。

请注意,变量的默认值是可以引用其他实时模板变量的表达式。要将默认值定义为文字,请将其括在引号中。

如果定义则跳过

如果定义了当前输入字段的值,则选中此复选框可让 PhpStorm 继续下一个输入字段。

上移/下移

使用这些按钮更改列表中变量的顺序。表中变量的顺序决定了模板展开时 PhpStorm 在相应输入字段之间切换的顺序。

实时模板变量中使用的函数

camelCase(<String>)

将字符串转换为camelCase

例如,camelCase("my-text-file")camelCase("my text file"),并且camelCase("my_text_file")全部返回myTextFile

capitalize(<String>)

将字符串的第一个字母大写。

例如,capitalize("name")返回Name. 或者你可以将它组合capitalize(camelCase("my awesome class"))MyAwesomeClass.

capitalizeAndUnderscore(<String>)

将字符串的所有字母大写,并在各部分之间插入下划线。

例如,capitalizeAndUnderscore("FooBar")capitalizeAndUnderscore("foo bar"),并且capitalizeAndUnderscore("foo-bar")全部返回FOO_BAR

clipboard()

返回系统剪贴板的内容。

commentEnd()

返回指示当前语言上下文中注释结束的字符。对于带有行注释的语言,返回值为空。

commentStart()

返回指示当前语言上下文中注释开始的字符。对于带有行注释的语言,返回值是行注释的开始,与lineCommentStart()相同。

complete()

在变量的位置调用代码完成

completeSmart()

在变量的位置调用智能类型完成

concat(<String>, ...)

返回作为参数传递给函数的所有字符串的串联。

例如,concat(date()," ",user())返回当前系统日期和用空格分隔的用户名。

date([format])

返回当前系统日期。

默认情况下,不带参数,它以当前系统格式返回日期。要使用不同的格式,请根据SimpleDateFormat规范提供参数。例如,date("Y-MM-d, E, H:m")返回格式为 的日期2020-02-27, Thu, 16:11

dbColumns()

返回表或视图的列列表。用于上下文实时模板(dbColumns()例如,ins)。您可以通过右键单击对象并选择SQL Scripts来访问上下文实时模板。

dbObjectName()

返回表或视图的名称。用于上下文实时模板(dbObjectName()例如,top)。您可以通过右键单击对象并选择SQL Scripts来访问上下文实时模板。

decapitalize(<String>)

用相应的小写字母替换字符串的第一个字母。

例如,decapitalize("Name")返回name.

enum(<String>, ...)

返回模板展开时建议完成的字符串列表。

例如,enum("Foo","Bar","Baz")显示一个列表,您可以从中选择一个指定的字符串。

escapeString(<String>)

转义特殊字符,以便可以在 Java 字符串中使用结果。

例如,它将制表符替换为\t,换行符替换为\n,将反斜杠转义为\\,引号替换为\",等等。

fileName()

返回当前文件的名称及其扩展名。

fileNameWithoutExtension()

返回当前文件的名称,不带扩展名。

filePath()

返回当前文件的绝对路径。

fileRelativePath()

返回相对于当前项目的当前文件路径。要检查给定文件的相对路径,请右键单击它并选择Copy Reference,或按Ctrl+Alt+Shift+C

firstWord(<String>)

返回作为参数传递的字符串的第一个单词。

例如,firstWord("one two three")返回one.

groovyScript(<String>, [arg, ...])

执行作为字符串传递的 Groovy 脚本。

第一个参数是一个字符串,其中包含脚本的文本或包含脚本的文件的路径。该函数将其他可选参数作为_1_2_3、 ..._n变量的值传递给脚本。此外,您可以使用该_editor变量从脚本内部访问当前编辑器。

以下示例显示了一个groovyScript()函数,该函数将所选文本拆分为单词并将它们显示为编号列表:

groovyScript("def result = ''; _1.split().eachWithIndex { item, index -> result = result + index.next() + '.' + item + System.lineSeparator() }; 返回结果;",选择);

JsArrayVariable()

返回当前 JavaScript 数组的名称。

jsClassName()

返回当前 JavaScript 类的名称。

jsComponentTypeOf()

返回当前 JavaScript 组件的类型。

jsDefineParameter

根据模块名称,返回参数 from define(["module"], function (<parameter_in_question>>) {})

jsMethodName()

返回当前 JavaScript 方法的名称。

jsQualifiedClassName()

返回当前 JavaScript 类的完整名称。

jsSuggestDefaultVariableKind(Boolean)

Boolean 参数确定在当前上下文中是否允许使用常量。如果未指定参数,则允许使用常量。当模板展开时,会显示一个列表,其中var包含TypeScript 和 ES6 的选项,而早期 JavaScript 版本只有一个let选项。constvar

jsSuggestImportedEntityName()

`import * as $ITEM$ from "$MODULE$"`建议类型或`import $ITEM$ from "$MODULE$"`基于文件名的导入语句的名称。

jsSuggestIndexName()

从最常用的索引变量中返回建议的名称:ijk和子。当前范围内尚未使用的名称首先显示。

jsSuggestVariableName()

根据引用变量命名规则的代码样式设置,根据变量类型和初始化表达式返回建议的变量名称。例如,如果它是一个在迭代中保存元素的变量,PhpStorm 会猜测最合理的名称,同时考虑到被迭代的容器的名称。

lineCommentStart()

返回指示当前语言上下文中行注释开始的字符。

lineNumber()

返回当前行号。

lowercaseAndDash(<String>)

将字符串转换为小写并插入 n 破折号作为分隔符。例如,lowercaseAndDash("MyExampleName")两者lowercaseAndDash("my example name")都返回my-example-name.

phpClassName()

返回当前 PHP 类的短名称。

phpQualifiedClassName()

返回当前 PHP 类的完全限定名。

phpSuggestVariableName()

根据引用变量命名规则的代码样式设置,根据变量类型和初始化表达式返回建议的变量名称。例如,如果它是一个在迭代中保存元素的变量,PhpStorm 会猜测最合理的名称,同时考虑到被迭代的容器的名称。

使用此功能时,您需要在“编辑模板变量”对话框中为相应变量提供默认值。

regularExpression(<String>, <Pattern>, <Replacement>)

查找 a 中所有出现的PatternString用 替换它们Replacement。您可以将模式指定为正则表达式以在字符串中查找与其匹配的所有内容。

snakeCase(<String>)

将字符串转换为snake_case。例如,snakeCase("fooBar")两者snakeCase("foo bar")都返回foo_bar.

spaceSeparated(<String>)

返回以空格作为分隔符的指定字符串。例如,spaceSeparated("fooBar")退货foo BarspaceSeparated("Foo_BAR")退货Foo BAR

spacesToUnderscores(<String>)

将作为参数传递的字符串中的空格替换为下划线。例如,spacesToUnderscores("foo bar BAZ")返回foo_bar_BAZ.

substringBefore(<String>, <Delimeter>)

返回子字符串直到指定的分隔符。这有助于删除测试文件名中的扩展名。例如,如果在名为component-test.jssubstringBefore(fileName(),".")的文件中使用,则返回。component-test

time([format])

返回当前系统时间。

默认情况下,不带参数,以当前系统格式返回时间。要使用不同的格式,请根据SimpleDateFormat规范提供参数。例如,time("H:m z")返回格式为 的时间13:10 UTC

timestamp()

返回从 1970 年 1 月 1 日开始计算的当前时间(以毫秒为单位)。请参阅文章Unix time

underscoresToCamelCase(<String>)

将带下划线的字符串(如snake_case)转换为camelCase。例如,underscoresToCamelCase(foo_bar_baz)两者underscoresToCamelCase(FOO_BaR_baZ)都返回fooBarBaz.

underscoresToSpaces(<String>)

将字符串中的下划线转换为空格。例如,underscoresToSpaces(foo_bar_baz)退货foo bar bazunderscoresToSpaces(FOO_BaR_baZ)退货FOO BaR baZ

user()

返回当前用户的名称。

最后修改:2021 年 12 月 20 日