llms.txt: machine-readable documentation index. Markdown version of this page is also available.

IntelliJ IDEA 2026.3 Help

编辑模板变量对话框

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

控制

条目

描述

名称

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

表达式

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

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

  • 双引号中的字符串常量

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

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

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

默认值

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

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

如果已定义,则跳过

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

上移 / 下移

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

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

条目

描述

annotated(<annotation>)

返回带有指定限定名称注解的类、方法或字段。 如果项目中有多个带有指定注解的程序元素,将显示一个列表供您选择。

例如, annotated("java.lang.Deprecated") 返回所有用 @Deprecated 注释的程序元素。

RESTful Web 服务 和 Web 服务 组中的某些预定义实时模板使用 annotated() 函数/方法。

anonymousSuper()

为 Kotlin 对象表达式建议一个超类型。

仅在 Kotlin 上下文中可用。

arrayVariable()

返回当前作用域中最近声明的数组(作为方法变量或类字段)。 如果当前作用域中声明了多个数组,还会显示一个列表供您选择。

例如,如果有以下方法,并在两个数组声明之后展开包含使用 arrayVariable() 函数/方法的变量的模板,则默认返回 b 数组,并且还会建议选择 a 以及其他定义为类字段的数组:

public String getCode() { int a[] = new int[5]; int b[] = new int[10]; return code; }

迭代 组中的某些预定义实时模板(itar 和 ritar )使用 arrayVariable() 函数/方法。

blockCommentEnd()

返回指示当前语言上下文中块注释结束的字符。

例如,在 Java 文件中返回 */。

blockCommentStart()

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

例如,在 Java 文件中返回 /*。

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。

castToLeftSideType()

必要时将右侧表达式转换为左侧表达式类型。

迭代 组中的某些预定义模板使用 castToLeftSideType() 函数/方法,以便为原始类型和泛型类型使用单个模板。

可与 rightSideType() 进行比较。

className()

返回当前类的名称(展开模板的位置)。 可用于构造函数模板。

仅在 Java 上下文中可用。

clipboard()

返回系统剪贴板的内容。

commentEnd()

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

commentStart()

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

complete()

在变量的位置调用 代码补全。

completeSmart()

在变量位置调用 智能类型补全。

componentTypeOf(<array>)

返回数组的组件类型。

例如,您可以将 arrayVariable() 的返回值传递给 componentTypeOf() 函数。 itar 模板使用此逻辑来正确指定数组的迭代元素。

仅在 Java 上下文中可用。

concat(<String>, ...)

返回作为形参传递给函数/方法的所有字符串的连接结果。

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

currentPackage()

返回当前包的名称(包含您展开模板的类)。

仅在 Java 上下文中可用。

日期([格式])

返回当前系统日期。

默认情况下,如果没有形参,则返回当前系统格式的日期。 要使用其他格式,请按照 SimpleDateFormat 规范提供形参。 例如, date("Y-MM-d, E, H:m") 返回的日期格式为 2020-02-27, Thu, 16:11。

dbColumns()

返回表或视图的列列表。 dbColumns() 用于上下文实时模板(例如 插入)。 可以通过右键点击对象并选择 SQL 脚本 来访问上下文实时模板。

dbObjectName()

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

decapitalize(<String>)

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

例如, decapitalize("Name") 返回 名称。

descendantClassEnum(<String>)

返回指定类的子类。

如果有多个子类,将显示一个子类列表供您选择。 例如, descendantClassEnum("java.lang.Number") 返回所有数字类型类,例如, java.lang.Float、 java.math.BigDecimal 等等。

仅在 Java 上下文中可用。

enum(<String>, ...)

模板展开时,返回建议用于补全的字符串列表。

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

escapeString(<String>)

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

例如,它会将制表符替换为 \t ,将换行符替换为 \n ,将反斜杠转义为 \\ ,将引用转义为 \" ,依此类推。

expectedType()

返回模板展开位置的表达式预期类型(在赋值右侧、 return 之后、作为方法形参等)。

仅在 Java 上下文中可用。

fileName()

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

fileNameWithoutExtension()

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

filePath()

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

fileRelativePath()

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

firstWord(<String>)

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

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

functionParameters()

返回模板展开所在的 Kotlin 函数/方法的形参。

仅在 Kotlin 上下文中可用。

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 (用…包围 )来应用它。

guessElementType(<Collection>)

返回存储在 java.util.Collection 中的元素的可能类型。 IntelliJ IDEA 会查找向集合添加元素或从集合中提取元素的编码,以定义这些元素的类型。

iterableComponentType(<Iterable>)

返回可迭代对象的类型,例如数组或集合。

仅在 Java 上下文中可用。

iterableVariable()

返回当前作用域中最近声明的可迭代对象(如数组或集合)。 如果当前作用域中有多个可迭代对象,还会显示一个列表供您选择。

预定义实时模板 iter 使用 iterableVariable() 函数/方法。

仅在 Java 上下文中可用。

kotlinClassName()

返回模板展开所在的 Kotlin 类的名称。

仅在 Kotlin 上下文中可用。

kotlinFunctionName()

返回模板展开所在的 Kotlin 函数/方法的名称。

仅在 Kotlin 上下文中可用。

lineCommentStart()

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

lineNumber()

返回当前行号。

lowercaseAndDash(<String>)

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

methodName()

返回模板展开的方法名称。

仅在 Java 上下文中可用。

methodParameterTypes()

返回模板展开所在方法的参数类型列表。

仅在 Java 上下文中可用。

methodParameters()

返回模板展开所在方法的形参名称列表。

仅在 Java 上下文中可用。

methodReturnType()

返回模板展开所在的当前方法的返回值类型。

仅在 Java 上下文中可用。

qualifiedClassName()

返回模板展开所在的当前类的完全限定名称。

仅在 Java 上下文中可用。

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

在 字符串 中查找 模式 的所有出现位置,并将其替换为 Replacement。 可以将模式指定为正则表达式,以查找字符串中与之匹配的所有内容。

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

rightSideType()

将左侧变量声明为右侧表达式的类型。

迭代 组中的某些预定义模板使用 rightSideType() 函数/方法,以便为原始类型和泛型类型使用单个模板。

可与 castToLeftSideType() 进行比较。

仅在 Java 上下文中可用。

snakeCase(<String>)

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

spaceSeparated(<String>)

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

spacesToUnderscores(<String>)

将作为形参传入的字符串中的 Space 替换为下划线。 例如, spacesToUnderscores("foo bar BAZ") 返回 foo_bar_BAZ。

substringBefore(<String>, <Delimeter>)

返回到指定分隔符为止的子字符串。 这有助于移除测试文件名称中的扩展程序。 例如,如果在名称为 component-test.js 的文件中使用, substringBefore(fileName(),".") 将返回 component-test。

subtypes(<String>)

返回当前作用域中作为字符串传入的类型的子类型。

预定义 lazy 实时模板使用 subtypes(typeOfVariable(VAR)) 函数/方法,利用其某个子类型对变量执行延迟初始化。

仅在 Java 上下文中可用。

suggestFirstVariableName(<String>)

返回在给定上下文中可能分配给作为参数传递的类型的所有变量。

这类似于 variableOfType() ,但不会建议 true、 false、 this 和 超级。

suggestIndexName()

返回迭代中索引变量的建议名称,取自最常用的名称: i、 j、 k 等(当前作用域中未使用的第一个名称)。

迭代 组中的某些预定义模板(fori、 itar、 ritar )使用 suggestIndexName() 函数/方法来建议合适的索引变量名称。

suggestVariableName()

根据引用变量命名规则的代码样式设置,基于变量类型及其初始化表达式建议变量名称。

例如,如果它是一个在迭代中保存元素的变量,IntelliJ IDEA 会考虑被迭代容器的名称来猜测最合理的名称。 迭代 组中的某些预定义模板(itar、 itco、 iten )使用 suggestVariableName() 函数/方法,为迭代元素建议合适的变量名称。

time([format])

返回当前系统时间。

默认情况下,如果没有形参,则返回当前系统格式的时间。 要使用其他格式,请按照 SimpleDateFormat 规范提供形参。 例如, time("H:m z") 返回的时间格式为 13:10 UTC。

typeOfVariable(<String>)

返回传递为参数的变量类型。

仅在 Java 上下文中可用。

typeParameterOf(VAR[,indexOrName])

返回对象参数的类型(例如,集合元素的类型)。 它接受两个参数:

  • VAR :变量名称(可以是另一个实时模板变量)

  • indexOrName :形参的从 0 开始的索引,即要检索其类型的形参。 它也可以是类型变量的名称。 如果省略,则返回第一个形参的类型。

例如, typeParameterOf(NAME, "1") 返回 NAME 变量的第二个参数的类型, typeParameterOf(NAME, "K") 返回 K 变量的 NAME 参数的类型。

仅在 Java 上下文中可用。

另请参阅 Java itm 实时模板,了解函数/方法实现的示例。

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。

user()

返回当前用户的名称。

variableOfType(<String>)

返回所有可能分配给作为参数传递的类型的变量。 例如, variableOfType("double")、 variableOfType("java.util.Vector") 或 variableOfType(methodReturnType())。

如果将空字符串 "" 作为形参传入,函数/方法会建议所有变量,而不考虑其类型。

与 suggestFirstVariableName() 不同,此函数/方法还会返回标准表达式,例如 true、 false、 this 和 Outer.this。

2026年 11月 3日