IDEA自定义模板

1. 自定义IDEA编辑模板变量详解(Edit Template Variables)

*作用* *描述*
*annotated("annotation qname")* 使用驻留在指定位置的注释创建类型符号。 例如,请参见迭代组中的活动模板。
*anonymousSuper()* 为Kotlin对象表达式建议一个超类型。
*arrayVariable()* 建议当前作用域中适用的所有数组变量。 例如,请参见迭代组中的活动模板。
*blockCommentEnd* 返回在当前语言上下文中指示块注释结束的字符。
*blockCommentStart* 返回在当前语言上下文中指示块注释开始的字符。
*camelCase(String)* 将字符串转换为camelCase。 例如,camelCase(my-text-file)、camelCase(my text file)和camelCase(my_text_file)都返回myTextFile。
*capitalize(String)* 将参数的第一个字母大写。
*capitalizeAndUnderscore(sCamelCaseName)* 将作为参数传递的CamelCase名称的所有字母大写,并在各部分之间插入下划线。例如,大写和下划线(FooBar)返回FOO_BAR。
*castToLeftSideType()* 将右侧表达式转换为左侧表达式类型。在迭代组中,它使用一个模板来生成raw类型和泛型集合。
*className()* 返回当前类的名称(展开模板的类)。
*classNameComplete()* 这个表达式替代了变量位置上的类名补全。
*clipboard()* 返回系统剪贴板的内容。
*commentEnd()* 返回指示当前语言上下文中注释结尾的字符。如果行注释是用当前语言定义的,则返回值为空。
*commentStart()* 返回指示当前语言上下文中注释开头的字符。如果行注释是用当前语言定义的,则它们的开始指示符更好。
*complete()* 在变量的位置调用代码完成。
*completeSmart()* 在变量的位置调用智能类型完成。
*componentTypeOf(<array>)* 返回数组的组件类型。有关示例,请参见迭代组和其他组中的活动模板。
*concat(expressions...)* 返回作为参数传递给函数的所有字符串的串联。
*currentPackage()* 返回当前包名称。
*date(sDate)* 如果没有参数,则以默认系统格式返回当前日期。
*decapitalize(sName)* 将参数的第一个字母替换为相应的小写字母。
*descendantClassEnum(<String>)* 返回指定为字符串参数的类的子级。
*enum(sCompletionString1,sCompletionString2,...)* 返回在扩展模板时建议完成的逗号分隔字符串列表。
*escapeString(sEscapeString)* 转义指定为参数的字符串。
*expectedType()* 返回模板扩展到的表达式的预期类型。如果模板在赋值的右部分、返回后等展开,则很有意义。
*fileName()* 返回当前文件的名称及其扩展名。
*fileNameWithoutExtension()* 返回不带扩展名的当前文件的名称。
*firstWord(sFirstWord)* 返回作为参数传递的字符串的第一个字。
*groovyScript("groovy code", arg1)* 返回具有指定代码的groovy脚本。 可以将groovyscript()函数与多个参数一起使用。第一个参数是所执行脚本的文本或包含脚本的文件的路径。下一个参数绑定到脚本中可用的_1、_2、_3、…_n变量。此外,脚本中还提供了_editor变量。此变量绑定到当前编辑器。
*guessElementType (<container>)* 猜测java.util.collection中存储的元素类型。为了猜测,intellij想法试图找到元素添加到容器或从容器中提取的位置。
*iterableComponentType(<ArrayOrIterable>)* 返回可iterable组件的类型,如数组或集合。
*iterableVariable()* 返回可迭代的变量的名称。
*JsArrayVariable()* 返回当前javascript数组的名称。
*jsClassName()* 返回当前javascript类的名称。
*jsComponentTypeOf()* 返回当前javascript组件的类型。
*jsDefineParameter* 基于模块的名称,返回参数fromdefine([“module”]、function(<parameter_in_question>>))。
*jsMethodName()* 返回当前javascript方法的名称。
*jsQualifiedClassName()* 返回当前javascript类的完整名称。
*jsSuggestIndexName()* 返回最常用的索引变量的建议名称:i、j、k等。当前作用域中尚未使用的名称将首先显示。
*jsSuggestVariableName()* 根据引用变量命名规则的代码样式设置,基于变量类型和初始值设定项表达式返回变量的建议名称。 例如,如果它是一个在迭代中保存元素的变量,那么intellij-idea会猜测最合理的名称,并考虑到被迭代的容器的名称。
*jsSuggestDefaultVariableKind(Boolean)* 布尔参数确定当前上下文中是否允许常量。如果未指定参数,则允许使用常量。当模板展开时,将显示一个下拉列表,其中包含typescript和es6的var、let和const选项,以及早期javascript版本的一个var选项。
*jsSuggestImportedEntityName()* 根据文件名,将'import*类型的import语句的名称建议为itemfrom“module”`或'importitemfrom“module”。
*lineCommentStart* 返回在当前语言上下文中指示行注释开头的字符。
*lineNumber()* 返回当前行号。
*lowercaseAndDash(String)* 将camelcase字符串转换为小写,并插入n个破折号作为分隔符。例如,LowerCaseandDash(MyExampleName)返回我的示例名称。
*methodName()* 返回展开模板的方法的名称。
*methodParameters()* 返回展开模板的方法的参数列表。
*methodReturnType()* 返回当前方法返回的值的类型(模板在其中展开)。
*qualifiedClassName()* 返回当前类的完全限定名(在其中展开模板)。
*rightSideType()* 用右侧表达式的类型声明左侧变量。在迭代组中,它使用一个模板来生成原始类型和泛型集合。
*snakeCase(String)* 将字符串转换为蛇形大小写。例如,snakecase(foo bar)返回foo_bar。
*spaceSeparated(String)* 将字符串转换为小写并插入空格作为分隔符。例如,spaceseparated(foo bar)返回foo bar。
*substringBefore(String,Delimiter)* 删除指定分隔符后的扩展名并仅返回文件名。这有助于测试文件名(例如,substringbefore(filename,“.”)返回component test.js中的组件测试。
*subtypes(sType)* 返回作为参数传递的类型的子类型。
*suggestFirstVariableName(sFirstVariableName)* 不代表真的,假的,这个,超级的。
*suggestIndexName()* 建议使用最常用的索引变量的名称:i、j、k等(第一个不在当前范围内使用的变量)。
*suggestVariableName()* 根据引用变量命名规则的代码样式设置,基于变量类型及其初始值设定项表达式建议变量的名称。例如,如果它是一个在迭代中保存元素的变量,那么intellij-idea会猜测最合理的名称,并考虑到要迭代的容器的名称。
*time(sSystemTime)* 以指定格式返回当前系统时间。
*typeOfVariable(VAR)* 返回作为参数传递的变量的类型。
*underscoresToCamelCase(String)* 用作为参数传递的字符串中的camelcase字母替换下划线。例如,underlinestocamelcase(foo_bar)返回foo bar。
*underscoresToSpaces(sParameterWithUnderscores)* 用作为参数传递的字符串中的空格替换下划线。例如,underlinestospaces(foo_bar)返回foo bar。
*user()* 返回当前用户的名称。
*variableOfType(<type>)* 建议可以分配给作为参数传递的类型的所有变量,例如,VababeLoFype(“java. U.L.Vector”)。如果传递一个空字符串(“”)作为参数,那么函数将建议所有变量,而不管其类型如何。

2. 方法注释

*
 * 功能描述: <br>
 * -    $description$
 *       
 $param$
 * @return $return$    clink$c$
 * @author name
 * @date $DATE$ $TIME$
 */
动态参数配置

<u>注释中多个参数处理函数</u>

java groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(i==0){result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}else{result+='   * @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}}; return result", methodParameters())

3. 类注释

/**
 * $END$
 *
 * @author name
 * @date $DATE$ $TIME$
 */

4. 自动Resource||Autowired

// Resource
@javax.annotation.Resource
private $PARAM$ $VAL$;

// Autowired
@org.springframework.beans.factory.annotation.Autowired
private $PARAM$ $VAL$;
参数配置
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容