实时模板变量
当您展开实时模板缩写时,其变量要么显示为可输入值的输入字段,要么被值替换。 这些值可能是您可以修改的默认值,或者是通过 函数计算得出的值。
要在模板中声明变量,请使用以下格式: $VAR$。
在表达式中,请使用不带开头和结尾的美元字符的变量名 $ ,例如 lowercaseAndDash(ComponentName)。
通过表达式定义每个变量,并在表达式求值失败时提供默认值。
此表达式可能包含以下结构:
双引号中的字符串常量
实时模板中定义的其他变量名称
预定义函数及其可能的参数
配置模板变量
预定义模板变量
IntelliJ IDEA 支持以下无法修改的预定义 实时模板 变量:
$END$表示代码段完成时文本光标的位置,您不能再按 Tab 跳到下一个变量。$SELECTION$用于环绕模板,表示要包装的代码片段。 模板展开后,会按照模板中的指定方式包装所选文本。 例如,如果您在代码中选择示例并通过指定的缩写或按下 Ctrl+Alt+T 并从列表中选择所需的模板来调用"$SELECTION$"模板,IntelliJ IDEA 将如下所示将所选内容用双引号括起来:"示例"。
在实时模板变量中使用的函数
以下函数可用于定义 实时模板 变量:
函数 | 描述 |
|---|---|
| 返回带有指定限定名注解的类、方法或字段。 如果项目中具有多个带有该注解的程序元素,将显示一个列表供您选择。 例如, RESTful Web 服务 与 Web 服务 组中的某些预定义实时模板使用 |
| 为 Kotlin 对象表达式建议一个超类型。 仅在 Kotlin 上下文中可用。 |
| 返回当前作用域中最近声明的数组(作为方法变量或类字段)。 如果当前作用域中声明了多个数组,还会显示一个列表供您选择。 例如,若您具有以下方法,并在两个数组声明之后展开一个使用
public String getCode() {
int a[] = new int[5];
int b[] = new int[10];
return code;
}
迭代 组中的某些预定义实时模板( |
| 返回指示当前语言上下文中块注释结束的字符。 例如,在 Java 文件中返回 |
| 返回指示当前语言上下文中块注释起始的字符。 例如,在 Java 文件中返回 |
| 将字符串转换为 camelCase。 例如, |
| 将字符串的首字母大写。 例如, |
| 将字符串的所有字母大写,并在各部分之间插入下划线。 例如, |
| 在必要时将右侧表达式转换为左侧表达式的类型。 迭代 组中的某些预定义模板使用 可与 rightSideType() 比较。 |
| 返回当前类的名称(展开模板的位置)。 对构造函数模板很有用。 仅在 Java 上下文中可用。 |
| 返回系统剪贴板的内容。 |
| 返回指示当前语言上下文中注释结束的字符。 对于带有行注释的语言,返回值为空。 |
| 返回指示当前语言上下文中注释起始的字符。 对于具有行注释的语言,返回值为行注释的起始,与 lineCommentStart() 相同。 |
| 在变量的位置调用 代码补全。 |
| 在变量位置调用 智能类型补全。 |
| 返回数组的组件类型。 例如,您可以将 arrayVariable() 的返回值传递给 仅在 Java 上下文中可用。 |
| 返回传递给函数的所有字符串参数的连接结果。 例如, |
| 返回当前包的名称(包含您展开模板的类)。 仅在 Java 上下文中可用。 |
| 返回当前系统日期。 默认情况下,无参数时,返回当前系统格式的日期。 要使用其他格式,请按照 SimpleDateFormat 规范提供参数。 例如, |
| 返回某个表或视图的列列表。 |
| 返回表或视图的名称。 |
| 将字符串的首字母替换为相应的小写字母。 例如, |
| 返回指定类的子类。 如果有多个子类,将显示一个子类列表供您选择。 例如, 仅在 Java 上下文中可用。 |
| 在模板展开时,返回用于补全的字符串建议列表。 例如, |
| 转义特殊字符,使结果可用于 Java 字符串。 例如,它会将制表符替换为 |
| 返回模板展开位置处表达式的预期类型(在赋值的右侧、 仅在 Java 上下文中可用。 |
| 返回当前文件的名称(包含扩展名)。 |
| 返回当前文件的名称(不含扩展名)。 |
| 返回当前文件的绝对路径。 |
| 返回当前文件相对于当前项目的路径。 要检查某个文件的相对路径,右键单击该文件并选择 复制引用 ,或按 Ctrl+Alt+Shift+C。 |
| 返回作为参数传递的字符串的第一个单词。 例如, |
| 执行作为字符串传入的 Groovy 脚本。 第一个参数是一个字符串,其中包含脚本文本或包含该脚本的文件路径。 该函数将其他可选参数传递给脚本,作为 以下示例显示了一个
groovyScript("_1.toUpperCase()", MyVar)
以下示例展示了一个
groovyScript("def result = ''; _1.split().eachWithIndex { item, index -> result = result + index.next() + '. ' + item + System.lineSeparator() }; return result;", SELECTION)
最后一个示例使用了 |
| 返回存储在 |
| 返回可迭代对象(例如数组或集合)的类型。 仅在 Java 上下文中可用。 |
| 返回当前作用域中最近声明的可迭代对象(如数组或集合)。 如果当前作用域中存在多个可迭代对象,还会显示一个列表供您选择。 预定义实时模板 仅在 Java 上下文中可用。 |
| 返回指示当前语言上下文中行注释起始的字符。 |
| 返回当前行号。 |
| 将字符串转换为小写并插入短横线作为分隔符。 例如, |
| 返回模板展开的方法名称。 仅在 Java 上下文中可用。 |
| 返回模板展开所在方法的参数类型列表。 仅在 Java 上下文中可用。 |
| 返回模板展开所在方法的参数名称列表。 仅在 Java 上下文中可用。 |
| 返回模板展开所在的当前方法的返回值类型。 仅在 Java 上下文中可用。 |
| 返回模板展开所在的当前类的完全限定名。 仅在 Java 上下文中可用。 |
| 在 例如, |
| 将左侧变量声明为右侧表达式的类型。 迭代 组中的某些预定义模板使用 可与 castToLeftSideType() 比较。 仅在 Java 上下文中可用。 |
| 将字符串转换为 snake_case。 例如, |
| 返回使用空格作为分隔符的指定字符串。 例如, |
| 将作为参数传入的字符串中的空格替换为下划线。 例如, |
| 返回到指定分隔符为止的子字符串。 这有助于移除测试文件名中的扩展名。 例如,如果在名为 component-test.js 的文件中使用, |
| 返回当前作用域中作为字符串传入的类型的子类型。 预定义实时模板 仅在 Java 上下文中可用。 |
| 返回在给定上下文中可能分配给作为参数传递的类型的所有变量。 这与 variableOfType() 类似,但不会建议 |
| 返回迭代中索引变量的建议名称,取自最常用的名称: 迭代 组中的某些预定义模板( |
| 根据您的代码风格设置(涉及变量命名规则),基于变量类型及其初始化表达式建议变量名。 例如,如果这是一个在迭代中保存元素的变量,IntelliJ IDEA 将结合被迭代容器的名称来猜测最合理的名称。 迭代 组中的某些预定义模板( |
| 返回当前系统时间。 默认情况下,无参数时,返回当前系统格式的时间。 要使用其他格式,请按照 SimpleDateFormat 规范提供参数。 例如, |
| 返回传递为参数的变量类型。 仅在 Java 上下文中可用。 |
| 返回对象参数的类型(例如,集合元素的类型)。 它接受两个参数:
例如, 仅在 Java 上下文中可用。 另请参阅 Java |
| 将带有下划线的字符串(如 snake_case )转换为 camelCase。 例如, |
| 将字符串中的下划线转换为空格。 例如, |
| 返回当前用户的名称。 |
| 返回所有可能分配给作为参数传递的类型的变量。 例如, 如果将空字符串 与 suggestFirstVariableName() 不同,此函数还会返回标准表达式,例如 |
