codecamp

IntelliJ IDEA实时模板变量

返回由当前方法返回的值的类型IntelliJ IDEA 实时模板中的模板变量允许用户输入。扩展模板后,变量将作为输入字段显示在编辑器中。

IntelliJ IDEA 声明实时模板变量

模板中的变量以下列格式声明:

{#content}lt;variable_name>$

IntelliJ IDEA 创建和编辑实时模板变量

变量由表达式定义,并且可以接受某些默认值。

此表达式可能包含以下基本类型的构造:

  • 双引号中的字符串常量。
  • 在实时模板中定义的另一个变量的名称。
  • 具有可能参数的预定义函数。

模板变量在 "编辑模板变量" 对话框中可编辑,其中包含可用函数的完整列表。请参见本页下面的预定义函数列表。

IntelliJ IDEA 预定义的模板变量

光标放在分号前的位置。$SELECTION $ 用于环绕模板, 并代表要包装的代码片段。扩展模板后, 选定的文本将按照模板中指定的内容进行包装。例如, 如果您在代码中选择了示例, 并通过指定的缩写调用 "$SELECTION $" 模板, 或者按下 Ctrl + Alt + T 并从列表中选择所需的模板, 则 IntelliJ 想法将用双引号将所选内容括起来, 如下所示:


IntelliJ IDEA支持两个预定义的实时模板变量:$END$ 和 $SELECTION$。

你不能编辑预定义的实时模板变量 $END$ 和 $SELECTION$。

  • $END$ 指示在扩展模板后光标的位置。例如,模板返回 $END$;将扩展到 :
    return ;

    光标定位在分号之前的位置。

  • $SELECTION$ 用于环绕模板 ,代表要包装的代码片段。展开模板后,选定的文本将按照模板中指定的内容进行包装。例如,如果您在代码中选择了示例并通过指定的缩写调用 "$SELECTION $" 模板,或通过按下 Ctrl+Alt+T 从列表中选择所需的模板,IntelliJ IDEA 将使用双引号将所选内容括起来:
    "EXAMPLE"

用于实时模板变量的预定义函数

项目 描述
annotated("annotation qname") 创建一个具有位于指定位置的注释的类型符号。
arrayVariable() 建议在当前范围内适用的所有数组变量
anonymousSuper() 为 Kotlin 对象表达式建议一个超类型。
camelCase(String) 返回作为参数传递的字符串,转换为骆驼大小写。例如,my-text-filemy text filemy_text_file将被转换为 myTextFile
capitalize(String) 将作为参数传递的名称的首字母大写。
capitalizeAndUnderscore(sCamelCaseName) 将作为参数传递的匹配名称的所有字母大写,并在各部分之间插入下划线。例如,如果作为参数传递的字符串FooBar,则函数返回FOO_BAR
castToLeftSideType() 将右侧表达式转换为左侧表达式类型。在 "迭代" 组中使用它可以生成原始类型和泛型集合的单个模板。
className(sClassName) 返回当前类的名称(扩展模板的类)。
classNameComplete() 此表达式替换在变量位置的类名称完成。
clipboard() 返回系统剪贴板的内容。
snakeCase(String) 从 snake_case 字符串中返回 CamelCase 字符串。例如,如果作为参数传递的字符串 foo_bar,则函数返回fooBar
complete() 此表达式替换可变位置处的代码完成调用。
completeSmart() 此表达式替换在变量位置的智能类型完成调用。
componentTypeOf (<array variable or array type>) 返回数组的组件类型。
currentPackage() 返回当前包的名称。
date(sDate) 以指定的格式返回当前系统日期

默认情况下,当前日期以默认系统格式返回。但是,如果您在双引号中指定日期格式,则日期将以此格式显示:

IntelliJ IDEA实时模板变量的预定义函数
decapitalize(sName) 将作为参数传递的名称的第一个字母替换为相应的小写字母。
descendantClassEnum(<String>) 显示作为字符串参数输入的类的子项。
enum(sCompletionString1,sCompletionString2,...) 在模板调用中建议完成的逗号分隔字符串的列表。
escapeString(sEscapeString) 转义指定的字符串。
expectedType() 返回作为整个模板的结果所需的类型。如果模板在分配的右部分、返回后等范围内展开,则会有意义。
fileName(sFileName) 返回具有扩展名的文件名。
fileNameWithoutExtension() 返回没有扩展名的文件名。
firstWord(sFirstWord) 返回作为参数传递的字符串的第一个单词。
groovyScript("groovy code") 返回具有指定代码的 Groovy 脚本。
您可以使用带有多个参数的 groovyScript 宏。第一个参数是执行的脚本文本或包含脚本的文件的路径。下一个参数绑定到脚本中可用的_1, _2, _3, ..._n变量。
此外,_editor变量在脚本中可用。该变量绑定到当前编辑器。
guessElementType (<container>) 对存储在java.util.Collection中的元素的类型进行猜测。为了猜测,IntelliJ IDEA 尝试查找元素添加到容器中或从容器中提取的位置。
iterableComponentType(<ArrayOrIterable>) 返回可迭代(iterable)组件的类型,例如数组或集合。
iterableVariable() 返回可以迭代的变量的名称。
lineNumber() 返回当前行号。
lowercaseAndDash(String) 返回以破折号分隔的小写形式,作为参数传递的字符串。例如,字符串 MyExampleName被转换为my-example-name
methodName() 返回包含(embracing)方法的名称(扩展模板的位置)。
methodParameters() 返回包含方法的参数列表(其中扩展了模板)。
methodReturnType()返回由当前方法返回的值的类型(该模板在其中展开的方法)。
qualifiedClassName() 返回当前类的完全限定名(扩展模板的类)。

清除 "缩短" 的 "检查名称" 复选框。

rightSideType() 用右侧表达式的类型声明左侧变量。在 "迭代" 组中使用它可以生成原始类型和泛型集合的单个模板。
snakeCase(sCamelCaseText) 返回从作为参数传递的 CamelCase 字符串中的 snake_case 字符串。
spaceSeparated(String) 返回用匹配字符串作为参数传递的空格分隔的字符串。例如,如果作为参数传递的字符串fooBar,则函数返回 foo bar
subtypes(sType) 返回作为参数传递的类型的子类型。
suggestIndexName() 建议索引变量的名称。
suggestVariableName() 根据引用变量命名规则的代码样式设置,根据变量类型及其初始化程序表达式建立变量的名称。
例如,如果它是在迭代中保存元素的变量,则 IntelliJ IDEA 对最合理的名称进行猜测,同时考虑到要迭代的容器的名称。
suggestFirstVariableName(sFirstVariableName) 不建议true, false, this, super
time(sSystemTime) 返回当前系统时间。
typeOfVariable(VAR) 返回作为参数传递的变量的类型。
underscoresToCamelCase(sCamelCaseText) 返回作为参数传递的字符串, 并将 CamelHump 字母替换为下划线。例如,如果作为参数传递的字符串foo_bar,则函数返回 fooBar
underscoresToSpaces(sParameterWithSpaces) 返回作为参数传递的字符串, 并用空格替换下划线。
user() 返回当前用户的名称。
variableOfType(<type>) 建议所有可能分配给作为参数传递的类型的变量,例如variableOfType(“java.util.Vector”)。如果将空字符串 ("") 作为参数传递, 则建议所有变量, 而不考虑它们的类型。
JsArrayVariable 返回 JavaScript 数组名称。
jsClassName() 返回当前 JavaScript 类的名称。
jsComponentType 返回 JavaScript 组件类型。
jsMethodName() 返回当前 JavaScript 方法的名称。
jsQualifiedClassName 返回当前 JavaScript 类的完整名称。
jsSuggestIndexName 返回建议的索引名称。
jsSuggestVariableName 返回变量的建议名称。
IntellJ IDEA实时模板有哪些类型
IntelliJ IDEA实时模板组
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }