返回由当前方法返回的值的类型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) 以指定的格式返回当前系统日期

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

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 返回变量的建议名称。

IntelliJ IDEA实时模板变量的更多相关文章

  1. IntelliJ IDEA - 注释模板

    IntelliJ IDEA 注释模板自定义的方式有许多,如Live Templates和File and Code Templates,我比较喜欢File and Code Templates,在新建 ...

  2. IntelliJ Idea注释模板--类注释、方法注释

    刚从Eclipse切换到IntelliJ Idea,之前使用eclipse时用到了注释模板,包括类注释和方法注释,现在分别讲一下在Intellij Idea中如何进行配置,作为备忘 一. 类注释模板配 ...

  3. django 学习-3 模板变量

    1.vim learn/home.html <!DOCTYPE html><html><head>        <title>{{title}}< ...

  4. ThinkPHP框架配置自定义的模板变量(十)

    原文:ThinkPHP框架配置自定义的模板变量(十) 模板替换(手册有详细介绍对应的目录) __PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/ __ROOT__: 会替换成当 ...

  5. Dotliquid使用Json模板变量

    Dotliquid是不错的Template Engine,为了更方便使用,扩展了一下,使它支持json数据的替换,引用了Newtonsoft.Json.Linq /// <summary> ...

  6. Django 学习笔记(四)模板变量

    关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...

  7. Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用

    模板路径查找 路径配置 2. templates模板查找有两种方式 2.1 - 在APP目录下创建templates文件夹,在文件夹下创建模板 2.2 - 在项目根目录下创建templates文件夹, ...

  8. Django模板变量及静态文件引用

    一.模板变量传递 1.视图向模板传递变量 视图中的列表,数组,字典,函数均可以传递给模板 在视图中定义变量通过render(content{‘name’ : value})传递给模板 模板通过{{  ...

  9. <笔记>原生PHP访问TP模板变量

    在模板中,原生PHP可以直接访问模板变量,不过如果模板变量是数组,要访问数组中元素时不能使用"."符号,只能通过数组['元素名']的方式

随机推荐

  1. MongoDB初识篇

    前言 一直听说MongonDB,却没有机会接触它,于是决定先从表面上认识它.MongoDB(分布式文档存储数据库)是一种介于关系型数据库和非关系型数据库之间的数据库,而且它是非关系数据库中最像关系型数 ...

  2. 洛谷P3784 [SDOI2017]遗忘的集合(生成函数)

    题面 传送门 题解 生成函数这厮到底还有什么是办不到的-- 首先对于一个数\(i\),如果存在的话可以取无限多次,那么它的生成函数为\[\sum_{j=0}^{\infty}x^{ij}={1\ove ...

  3. SpringBoot dubbo之class is not visible from class loader

    使用了两个类加载器加载了同一个类,区分一个Class对象是否相等要看包名+类名,也要看是否是同一个类加载器 方案一,排查掉spring-boot-devtools模块的maven引入可以解决,这时候所 ...

  4. luogu4151 最大XOR和路径

    然后呢这道题其实很简单 我们先考虑一种简单的情况,从1直接走到n(不管怎么走的,反正就是走) 然后就能找到一个路径了 这个走的过程用各种zmj算法都能过 然后呢我们发现如果直接走基本不会得到最优解,考 ...

  5. CF796D Police Stations 思维

    Inzane finally found Zane with a lot of money to spare, so they together decided to establish a coun ...

  6. python 字符串 操作

    去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sS ...

  7. logrotate 日志管理

    查看logrotate 是否已安装 因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了.总结起来就是这样几类: 1.rpm包安装的,可以用rpm -qa看到,如果要查找 ...

  8. linux 的 sftp 和 scp

    ====================================== 作者: wxy0327(http://wxy0327.itpub.net) 发表于: 2006.12.07 13:19 分 ...

  9. 修改阿里云ESC Centos 7.4 防火墙开放端口

    例如系统:Centos 7.4操作如下 1,进入 cd /etc/firewalld/zones/ 目录 2,编辑 vim public.xml 3,按i或insert键进入编辑模式 4,在<z ...

  10. buildKibanaServerUrl

    private String buildKibanaServerUrl(DiscountIndexMailData mailData,Statistic stat,String failureCaus ...