实时模板变量
最后修改时间:2023年9月25日当您展开实时显示模板缩写时,其变量或为输入字段,您可以在其中键入值,或者被替换为值。这些可能是您可以修改的默认值或使用函数计算的值。
要在模板内声明变量,请使用以下格式:$VAR$
.
在表达式中,使用不带开头和结尾美元字符的变量名称$
,例如lowercaseAndDash(ComponentName)
。
笔记
只需美元字符添加
$
到模板文本中,设置不被视为变量声明,请使用特殊变量$$
。
使用表达式定义每个变量,并在表达式计算时提供默认值。
该表达式可能包含以下结构:
双引号中的字符串常量
实时模板中定义的其他指标的名称
标记可能参数的预定义函数
配置模板变量
预定义模板变量
IntelliJ IDEA 支持修改以下无法的预定义实时模板变量:
$END$
指示代码片段完成时插入符号的位置,并且您不能再单击跳转到下一个变量。Tab$SELECTION$
使用在环绕模板中,表示要包装的代码片段。模板展开后,它会按照模板中指定的方式切换选择的文本。例如,如果您EXAMPLE
在代码中选择并"$SELECTION$"
通过指定的缩写调用模板,或者通过按并从列表中选择所需的模板,IntelliJ IDEA 精选了选定的内容以引起双方面的关注,如下所示:。CtrlAlt0T"EXAMPLE"
实时模板变量中使用的函数
以下函数可用于定义实时模板变量:
功能 | 描述 |
---|---|
| 返回指定的限定名称注释的类别、方法或多个字段。如果您的项目包含指定的注释的程序元素,它会显示一个列表,您可以进行选择。 例如, RESTful Web 服务和Web 服务组中的一些预定义实时模板使用该 |
| 返回当前作用域中最近声明的数组(作为方法变量或类字段)。如果当前范围内声明了多个数组,它还会显示一个列表,您可以从中进行选择。 例如,如果您有以下方法并使用在两个数组声明后使用该函数的变量扩展模板
迭代组 ( |
| 返回指示当前语言上下文中块注释结尾的字符。 例如,在 Java 文件中,它返回 |
| 返回指示当前语言上下文中块注释开始的字符。 例如,在 Java 文件中,它返回 |
| 将字符串转换为驼峰命名法。 例如, |
| 将字符串的第一个字母大写。 例如, |
| 将字符串的所有字母大写,并在各部分之间插入下划线。 例如, |
| 如有必要,将右侧表达式转换为左侧表达式类型。 迭代组中的一些预定义模板使用该 与rightSideType()进行比较。 |
| 返回当前类的名称(您在其中展开模板)。对于构造函数模板很有用。 |
| 返回系统剪贴板的内容。 |
| 返回当前语言上下文中指示注释结束的字符。对于带有行注释的语言,返回值为空。 |
| 返回指示当前语言上下文中注释开始的字符。对于带有行注释的语言,返回值是行注释的开头,与lineCommentStart()相同。 |
| 在变量的位置调用代码完成。 |
| 在变量的位置调用智能类型完成。 |
| 返回数组的组件类型。 例如,您可以将arrayVariable()的返回值传递给 |
| 返回作为参数传递给函数的所有字符串的串联。 例如, |
| 返回当前包的名称(以及您扩展模板的类)。 |
| 返回当前系统日期。 默认情况下,不带参数,它返回当前系统格式的日期。要使用不同的格式,请根据SimpleDateFormat规范提供参数。例如, |
| 返回表或视图的列列表。用于 |
| 返回表或视图的名称。用于 |
| 将字符串的第一个字母替换为相应的小写字母。 例如, |
| 返回指定类的子级。 如果有多个子类,它会显示一个子类列表,您可以从中进行选择。例如, |
| 返回模板展开时建议完成的字符串列表。 例如, |
| 转义特殊字符,以便结果可以在 Java 字符串中使用。 例如,它将制表符替换为 |
| 返回模板扩展处的表达式的预期类型(在赋值的右侧部分、 after |
| 返回当前文件的名称及其扩展名。 |
| 返回当前文件的名称,不带扩展名。 |
| 返回当前文件的绝对路径。 |
| 返回相对于当前项目的当前文件路径。要检查给定文件的相对路径,请右键单击该文件并选择“复制引用”,或按。CtrlAltShift0C |
| 返回作为参数传递的字符串的第一个单词。 例如, |
| 执行作为字符串传递的 Groovy 脚本。 第一个参数是一个字符串,其中包含脚本的文本或包含脚本的文件的路径。 以下示例显示了一个
以下示例显示了一个
最后一个示例使用 |
| 返回 a 中存储的元素的可能类型 |
| 返回可迭代对象的类型,例如数组或集合。 |
| 返回当前范围内最近声明的可迭代对象(如数组或集合)。如果当前作用域中有多个可迭代对象,它还会显示一个列表,您可以从中进行选择。 预定义的实时模板 |
| 返回指示当前语言上下文中行注释开头的字符。 |
| 返回当前行号。 |
| 将字符串转换为小写并插入 n 破折号作为分隔符。例如, |
| 返回模板在其中扩展的方法的名称。 |
| 返回模板扩展所在方法的参数类型列表。 |
| 返回模板扩展所在方法的参数名称列表。 |
| 返回模板扩展的当前方法返回的值的类型。 |
| 返回模板在其中扩展的当前类的完全限定名称。 |
|
例如, |
| 使用右侧表达式的类型声明左侧变量。 迭代组中的一些预定义模板使用该 |
| 将字符串转换为Snake_case。例如, |
| 返回以空格作为分隔符的指定字符串。例如, |
| 将作为参数传递的字符串中的空格替换为下划线。例如, |
| 返回指定分隔符之前的子字符串。这对于删除测试文件名中的扩展名很有帮助。例如,如果在名为component-test.js 的文件中使用,则 |
| 返回当前作用域中作为字符串传递的类型的子类型。 预定义的 |
| 返回可以分配给给定上下文中作为参数传递的类型的所有变量。 这与variableOfType()类似,但它不建议使用 |
| 从最常用的变量的迭代中返回索引变量的建议名称: 迭代组中的一些预定义模板( |
| 根据引用变量命名规则的代码样式设置,根据变量类型及其初始值设定项表达式建议变量的名称。 例如,如果它是一个在迭代中保存元素的变量,IntelliJ IDEA 会考虑迭代容器的名称来猜测最合理的名称。迭代组中的一些预定义模板( |
| 返回当前系统时间。 默认情况下,不带参数,它返回当前系统格式的时间。要使用不同的格式,请根据SimpleDateFormat规范提供参数。例如, |
| 返回作为参数传递的变量的类型。 |
| 返回对象参数的类型(例如集合元素的类型)。它接受两个参数:
例如, 另请参阅 Java |
| 将带有下划线的字符串(如Snake_case)转换为CamelCase。例如, |
| 将字符串中的下划线转换为空格。例如, |
| 返回当前用户的名称。 |
| 返回可以分配给作为参数传递的类型的所有变量。例如, 如果传递空字符串 与suggestFirstVariableName()不同,此函数还返回标准表达式,例如 |
例子
让我们使用变量和函数制作一个简单的实时模板。它将创建一个具有预定义属性和方法的 Java 类。该模板将包含三个变量:
$ClassName$
:新类的名称$Food$
:三个可能值的列表:“肉”、“草”和“蜂蜜”$AnimalName$
:类名以小写字母开头,以便可以在句子中使用
创建带有变量的模板
按打开 IDE 设置,然后选择编辑器 | 实时模板。CtrlAlt0S
选择“Java”组,单击,然后选择“实时模板”。
在缩写字段中,指定将用于扩展模板的字符。例如,
animal
。在模板文本字段中,粘贴以下模板:
class $ClassName$ extends Animal { String food = "$Food$"; public void animalFood() { System.out.println("The $AnimalName$ eats " + food); } }
单击编辑变量...,然后在编辑模板变量对话框中配置变量:
$ClassName$
保持不变,这意味着我们希望用户在应用此模板时输入一个值。$Food$
:在表达式字段中输入enum("meat","grass","honey")
。当用户应用此模板时,此功能允许选择预定义值之一。$AnimalName$
:在表达式字段中输入decapitalize(ClassName)
。该函数获取变量的值ClassName
并将其第一个字母转换为小写。如果已定义,请选择“跳过” ,因为我们不需要提示用户输入。
使用实时模板
开始输入实时模板的名称(
animal
在我们的示例中)。输入变量的值(在我们的示例中为类名),然后单击跳转到下一个变量。Tab
使用键盘箭头选择字符串的值之一
food
。
感谢您的反馈意见!