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-file/ my text file/ my_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实时模板变量的更多相关文章
- IntelliJ IDEA - 注释模板
IntelliJ IDEA 注释模板自定义的方式有许多,如Live Templates和File and Code Templates,我比较喜欢File and Code Templates,在新建 ...
- IntelliJ Idea注释模板--类注释、方法注释
刚从Eclipse切换到IntelliJ Idea,之前使用eclipse时用到了注释模板,包括类注释和方法注释,现在分别讲一下在Intellij Idea中如何进行配置,作为备忘 一. 类注释模板配 ...
- django 学习-3 模板变量
1.vim learn/home.html <!DOCTYPE html><html><head> <title>{{title}}< ...
- ThinkPHP框架配置自定义的模板变量(十)
原文:ThinkPHP框架配置自定义的模板变量(十) 模板替换(手册有详细介绍对应的目录) __PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/ __ROOT__: 会替换成当 ...
- Dotliquid使用Json模板变量
Dotliquid是不错的Template Engine,为了更方便使用,扩展了一下,使它支持json数据的替换,引用了Newtonsoft.Json.Linq /// <summary> ...
- Django 学习笔记(四)模板变量
关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...
- Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用
模板路径查找 路径配置 2. templates模板查找有两种方式 2.1 - 在APP目录下创建templates文件夹,在文件夹下创建模板 2.2 - 在项目根目录下创建templates文件夹, ...
- Django模板变量及静态文件引用
一.模板变量传递 1.视图向模板传递变量 视图中的列表,数组,字典,函数均可以传递给模板 在视图中定义变量通过render(content{‘name’ : value})传递给模板 模板通过{{ ...
- <笔记>原生PHP访问TP模板变量
在模板中,原生PHP可以直接访问模板变量,不过如果模板变量是数组,要访问数组中元素时不能使用"."符号,只能通过数组['元素名']的方式
随机推荐
- 最大k乘积
思路:看到这道题,第一思路就要是动态规划,不要想着用啥暴力或者排列组合,只会搞得很复杂. 动态规划的思路是对这个整数,我们从后向前进行划分k个数字,我们知道对于划分后的最后一个整数,它的位数要保证前面 ...
- APIO 2012 派遣(可并堆)
APIO 2012 派遣(可并堆) 给定一棵N个点的树和M,每个点有两个权值ai,bi,每次可以选择一个点x,然后在这个点的子树中选若干点(可以不选自己),使得这些点的\(\sum b_i<=M ...
- SysPeek打不开解决方法
SysPeek 是Linux平台下一款简洁小巧的系统状态指示软件,可实时显示 CPU.Memory.Swap.硬盘和网络使用情况.然而最近却使用不了,打不开.无论点击图标或者是终端打开,都不显示.看错 ...
- 模板 ST表
ST表 询问静态最值. code: #include <iostream> #include <cstdio> using namespace std; inline int ...
- win10全半角切换
shift+sapce shift+sapce:全半角切换快捷键,编程的时候发现英文是这种状态,就需要用快捷键切换成半角. (查过老是忘记,在这里写一下记住它)
- Android----获取包名和sh1
第一种:使用java的一个工具---keytool工具(jdk目录下) SHA1叫安全哈希算法用于签名 keytool -list -v -keystore 签名证书所在位置path 第二种:通过An ...
- centos7上面关闭防火墙
CentOS 7.0默认使用的是firewall作为防火墙:若没有启用iptables 作为防火墙,则使用以下方式关闭防火墙: systemctl stop firewalld.service 关闭开 ...
- HashMap 1.8的源码分析三
线程安全问题: 在添加时候并没有进行安全考虑,枷锁 所以是线程不安全的,接下来进行代码测试; package com.mmall.concurrency.example.commonUnsafe; i ...
- k-sum 问题
问题描述 给定一个数组及数字 k ,从数组中找出所有相加结果为 k 的组合. 示例: 给定数组 [1,1,1] 令 k=2,输出: [[1,1]] 给定数组 [10, 1, 2, 7, 6, 1, 5 ...
- shell学习(12)- jq
jq命令允许直接在命令行下对JSON进行操作,包括分片.过滤.转换等 ,jq是用C编写,没有运行时依赖,所以几乎可以运行在任何系统上.预编译的二进制文件可以直接在Linux.OS X和windows系 ...
