返回由当前方法返回的值的类型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. 最大k乘积

    思路:看到这道题,第一思路就要是动态规划,不要想着用啥暴力或者排列组合,只会搞得很复杂. 动态规划的思路是对这个整数,我们从后向前进行划分k个数字,我们知道对于划分后的最后一个整数,它的位数要保证前面 ...

  2. APIO 2012 派遣(可并堆)

    APIO 2012 派遣(可并堆) 给定一棵N个点的树和M,每个点有两个权值ai,bi,每次可以选择一个点x,然后在这个点的子树中选若干点(可以不选自己),使得这些点的\(\sum b_i<=M ...

  3. SysPeek打不开解决方法

    SysPeek 是Linux平台下一款简洁小巧的系统状态指示软件,可实时显示 CPU.Memory.Swap.硬盘和网络使用情况.然而最近却使用不了,打不开.无论点击图标或者是终端打开,都不显示.看错 ...

  4. 模板 ST表

    ST表 询问静态最值. code: #include <iostream> #include <cstdio> using namespace std; inline int ...

  5. win10全半角切换

    shift+sapce shift+sapce:全半角切换快捷键,编程的时候发现英文是这种状态,就需要用快捷键切换成半角. (查过老是忘记,在这里写一下记住它)

  6. Android----获取包名和sh1

    第一种:使用java的一个工具---keytool工具(jdk目录下) SHA1叫安全哈希算法用于签名 keytool -list -v -keystore 签名证书所在位置path 第二种:通过An ...

  7. centos7上面关闭防火墙

    CentOS 7.0默认使用的是firewall作为防火墙:若没有启用iptables 作为防火墙,则使用以下方式关闭防火墙: systemctl stop firewalld.service 关闭开 ...

  8. HashMap 1.8的源码分析三

    线程安全问题: 在添加时候并没有进行安全考虑,枷锁 所以是线程不安全的,接下来进行代码测试; package com.mmall.concurrency.example.commonUnsafe; i ...

  9. k-sum 问题

    问题描述 给定一个数组及数字 k ,从数组中找出所有相加结果为 k 的组合. 示例: 给定数组 [1,1,1] 令 k=2,输出: [[1,1]] 给定数组 [10, 1, 2, 7, 6, 1, 5 ...

  10. shell学习(12)- jq

    jq命令允许直接在命令行下对JSON进行操作,包括分片.过滤.转换等 ,jq是用C编写,没有运行时依赖,所以几乎可以运行在任何系统上.预编译的二进制文件可以直接在Linux.OS X和windows系 ...