PhpStorm 2025.2 Help

编辑模板变量对话框

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

控件

项目

描述

名称

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

表达式

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

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

  • 双引号中的字符串常量

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

  • 预定义函数及其可能的参数

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

默认值

在该字段中,指定默认字符串,以便在展开的模板的相应输入字段中输入该字符串,如果表达式在计算后未产生任何结果。

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

如果定义则跳过

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

上移 / 下移

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

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

项目

描述

camelCase(<String>)

将字符串转换为 camelCase

例如, camelCase("my-text-file")camelCase("my text file")camelCase("my_text_file") 都返回 myTextFile

capitalize(<String>)

将字符串的首字母大写。

例如, capitalize("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 脚本 来访问上下文实时模板。

dbObjectName()

返回表或视图的名称。 上下文代码模板中使用了 dbObjectName() (例如, top)。 您可以通过右键点击对象并选择 SQL 脚本 来访问上下文实时模板。

decapitalize(<String>)

将字符串的首字母替换为相应的小写字母。

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

enum(<String>, ...)

返回模板扩展时建议的字符串列表。

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

escapeString(<String>)

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

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

fileName()

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

fileNameWithoutExtension()

返回当前文件的名称,但不包含其扩展名。

filePath()

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

fileRelativePath()

返回相对于当前项目的当前文件路径。 要检查某个给定文件的相对路径,右键点击并选择 复制引用 ,或按 Ctrl+Alt+Shift+C

firstWord(<String>)

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

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

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

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

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

以下示例显示了一个 groovyScript() 函数,用于将给定字符串(另一个变量 $MyVar$ 的值)转换为大写字母:

groovyScript("_1.toUpperCase()", MyVar)

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

groovyScript("def result = ''; _1.split().eachWithIndex { item, index -> result = result + index.next() + '. ' + item + System.lineSeparator() }; return result;", SELECTION)

最后一个示例使用 SELECTION 预定义变量,这意味着您必须选择文本并按 Ctrl+Alt+T用...包围 )来应用它。

JsArrayVariable()

返回当前 JavaScript 数组的名称。

jsClassName()

返回当前 JavaScript 类的名称。

jsComponentTypeOf()

返回当前 JavaScript 组件的类型。

jsDefineParameter

基于模块的名称,从 define(["module"], function (<parameter_in_question>>) {}) 返回参数。

jsMethodName()

返回当前 JavaScript 方法的名称。

jsQualifiedClassName()

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

jsSuggestDefaultVariableKind(Boolean)

布尔参数决定在当前上下文中是否允许常量。 如果未指定参数,则允许常量。 当模板展开时,会显示一个列表,其中包含 TypeScript 和 ES6 的 varletconst 选项,以及早期 JavaScript 版本的唯一 var 选项。

jsSuggestImportedEntityName()

根据文件名,建议 `import * as $ITEM$ from "$MODULE$"``import $ITEM$ from "$MODULE$"` 类型的导入语句名称。

jsSuggestIndexName()

从最常用的名称中返回一个索引变量的建议名称: ijk 等。 尚未在当前作用域中使用的名称将首先显示。

jsSuggestVariableName()

根据变量类型和初始化表达式,返回一个变量的建议名称,遵循您的代码样式设置中与变量命名规则相关的设置。 例如,如果它是一个在迭代中包含元素的变量,PhpStorm 会根据迭代的容器名称猜测最合理的名称。

lineCommentStart()

返回指示当前语言环境中行注释开始的字符。

lineNumber()

返回当前行号。

lowercaseAndDash(<String>)

将字符串转换为小写并插入短横线作为分隔符。 例如, lowercaseAndDash("MyExampleName")lowercaseAndDash("my example name") 都返回 my-example-name

phpClassName()

返回当前 PHP 类的短名称。

phpQualifiedClassName()

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

phpSuggestVariableName()

根据变量类型和初始化表达式,返回一个变量的建议名称,遵循您的代码样式设置中与变量命名规则相关的设置。 例如,如果它是一个在迭代中包含元素的变量,PhpStorm 会根据迭代的容器名称猜测最合理的名称。

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

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

找到所有在 Pattern 中的 String 并用 Replacement 替换它们。 您可以将模式指定为正则表达式,以在字符串中查找所有匹配项。

例如, regularExpression(NAME, "a", "b") 表达式将模板变量 $NAME$ 中的任何字母 “a” 替换为字母 “b”。 您可以在模式部分使用 regexp 字符类;例如, regularExpression(NAME, "[a-z]", "b") 将替换变量中的任何字母。 如果您希望模式(例如 \d\w )被视为正则表达式字符类,您必须对斜杠进行转义,以便您的模式看起来像 "\\d"

snakeCase(<String>)

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

spaceSeparated(<String>)

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

spacesToUnderscores(<String>)

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

substringBefore(<String>, <Delimeter>)

返回指定分隔符之前的子字符串。 这对于移除测试文件名中的扩展名很有帮助。 例如, substringBefore(fileName(),".") 如果在一个名为 component-test.js 的文件中使用,将返回 component-test

time([format])

返回当前系统时间。

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

timestamp()

返回从 1970 年 1 月 1 日起计算的当前时间(以毫秒为单位)。 有关更多信息,请参阅 Unix 时间

underscoresToCamelCase(<String>)

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

underscoresToSpaces(<String>)

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

用户()

返回当前用户的名称。

最后修改日期: 2025年 9月 26日