返回由当前方法返回的值的类型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. How to extract pcd from a rosbag? 如何从rosbag中提取pcd

    4.1 bag_to_pcd Reads a bag file, saving all ROS point cloud messages on a specified topic as PCD fil ...

  2. 《OD面试》之多线程高并发

    参考: 聊聊并发(三)——JAVA线程池的分析和使用 Java Executor并发框架(三)ThreadPoolExecutor 队列缓存策略 控制并发线程数的Semaphore.Scheduled ...

  3. 解读人:林山云,Proteomic Identification of Protein Glutathionylation in Cardiomyocytes(心肌细胞蛋白质谷胱甘肽修饰的蛋白质组鉴定)

    发表时间:(2019年4月) IF:3.950 单位:韦恩州立大学化学系 物种:小鼠心肌细胞 技术:谷胱甘肽修饰蛋白组学 一. 概述: 本研究采用化学选择性蛋白组学方法,鉴定出过氧化物诱导HL-1小鼠 ...

  4. 并查集【洛谷P1197】 [JSOI2008]星球大战

    P1197 [JSOI2008]星球大战 题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系. 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系 ...

  5. 资深专家深度剖析Kubernetes API Server第2章(共3章)

    欢迎来到深入学习Kubernetes API Server的系列文章的第二部分.在上一部分中我们对APIserver总体,相关术语及request请求流进行探讨说明.在本部分文章中,我们主要聚焦于探究 ...

  6. pytorch 加载mnist数据集报错not gzip file

    利用pytorch加载mnist数据集的代码如下 import torchvision import torchvision.transforms as transforms from torch.u ...

  7. java 柱状图、折线图、饼状图

    1.绘制柱状图: //BarChartTool工具类代码 package GUIview; import HibernateTool.HibernateTools; import ProductCla ...

  8. java Swing包相关知识点

    1.窗体的创建及相关的常用设置 //创建一个窗体 JFrame jf=new JFrame("第一步句法分析"); //设置用户在此窗体上发起 "close" ...

  9. python 基础及if while for语句

    #####变量######一.命名规则   1.正常命名  可以由字母,下划线和数字组成,不能以数字开头,不能和关键字重明   2.驼峰命名法    1)大驼峰:每一个单词的首字母都大写     Fi ...

  10. ConvertLongToInstantUtil

    package com.test; import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneId ...