转载

关于IDEA动态模板的使用

live template是一个预定义的代码模板,其中的内容能够根据上下文信息自动推断,可以动态生成一些重复的代码,提高我们的开发效率

官方文档

[链接]( www.jetbrains.com/help/idea/s…

教程

1、点击File--》Setting--》Editor--》Live Template,点击右侧的+号,新建一个live template

Abbreviation(缩进名):在此字段中,指定模板的缩写,即在编辑器中标识模板的字符序列。

Edit variables(编辑编写):单击此按钮以打开“编辑模板变量”对话框,您可以在其中定义IntelliJ IDEA在模板扩展时应如何处理模板变量。 “编辑模板变量”对话框包含可用功能的完整列表。请参阅此页下面的预定义功能列表。

Description(注释):在此字段中,提供模板的可选说明或其用法的示例。

Template text(模板主体):在此字段中,输入模板主体,其中可能包含纯文本和变量,格式为$ <变量名称> $。如有必要,请单击“编辑变量”并根据需要配置变量。要在模板文本中转义美元符号$,只需将其复制为$$。

Change(应用范围)*:指明在什么文件什么情况下使用。一般默认勾选java就可以
复制代码

输入abbreviation(缩写,快捷键的缩写),Description(描述),Template text(动态生成的内容),然后在文本下面定义文本内容,比如把其定义为Java内容,最后应用,在java使用缩写就可以生成我们的内容

2、可以在文本上定义变量,在变量两边加上$,然后点击右边的Edit variables,就可以选择我们的需要的函数并应用

关于IDEA动态模板的使用

在实时模板变量中使用的几个预定义函数,详细看官方文档

函数 描述
annotated("annotation qname") 创建带有指定位置的注释的类型的符号。例如:annotated(“ java.lang.Deprecated”)
arrayVariable() 建议适用于当前范围的所有数组变量
blockCommentEnd 返回表示当前语言上下文中块注释结尾的字符。
blockCommentStart 返回表示当前语言上下文中块注释开始的字符。
camelCase(String) 将字符串转换为camelCase。
capitalize(String) 将参数的首字母大写。
capitalizeAndUnderscore(String) 将作为参数传递的CamelCase名称的所有字母大写,并在各部分之间插入下划线。例如,capitalizeAndUnderscore(FooBar)返回FOO_BAR。
className() 返回当前类的名称(扩展模板的类)
classNameComplete() 该表达式替换变量位置处的类名完成。
clipboard() 返回系统剪贴板的内容。
commentEnd() 返回表示当前语言上下文中注释结尾的字符。如果以当前语言定义了行注释,则返回值为空。
commentStart() 返回表示当前语言上下文中注释开始的字符。如果以当前语言定义了行注释,则最好使用它们的开始指示符。
complete() 在变量的位置调用代码完成。
completeSmart() 在变量的位置调用智能类型完成。
concat(expressions...) 返回作为参数传递给函数的所有字符串的串联。
currentPackage() 返回当前程序包名称。
date(sDate) 以指定格式返回当前系统日期。如果没有参数,则以默认系统格式返回当前日期。请根据SimpleDateFormat规范提供一个参数
decapitalize(sName) 用相应的小写字母替换参数的第一个字母。
defaultReturnValues 如果在return语句中使用表达式,则返回默认值。如果表达式属于错误类型,则使用errorVariableName参数。
snakeCase(字符串) 将字符串转换为snake_case。例如,snakeCase(fooBar)返回foo_bar。
spaceSeparated(String) 将字符串转换为小写并插入空格作为分隔符。例如,spaceSeparated(fooBar)返回foo bar。
time(sSystemTime) 以指定格式返回当前系统时间。如果没有参数,则以默认系统格式返回当前时间
underscoresToCamelCase(String) 用作为参数传递的字符串中的camelCase字母替换下划线。例如,underscoresToCamelCase(foo_bar)返回fooBar。
underscoresToSpaces(sParameterWithUnderscores) 将下划线替换为作为参数传递的字符串中的空格。例如,underscoresToSpaces(foo_bar)返回foo bar。
user() 返回当前用户的名称。

示例

使用的变量与应用的函数

object camelCase(clipboard())
Object clipboard() 
复制代码

模板内容

@ApiOperation(value = "xx详情", notes = "xx详情", authorizations = {@Authorization("sessionId")})
@RequestMapping(value = "/$object$Detail.json", method = RequestMethod.POST)
@ApiResponses({@ApiResponse(code = 5000100, message = "参数错误")})
@ApiImplicitParams({
        @ApiImplicitParam(paramType = "query", name = "$object$Id", value = "id", dataType = "Long")
})
public Result<String> $object$Detail(Long $object$Id){
    $Object$ $object$ = $object$Service.find($object$Id);
    if ($object$ = null) {
        return null;
    }
    $Object$DetailDTO $object$DetailDTO = new $Object$DetailDTO();
    BeanUtils.copyProperties($object$, $object$DetailDTO);
    Paramap map = Paramap.create().put("$object$Detail", $object$DetailDTO);
    return Result.jsonStringOk(map);
}
复制代码

快捷键

saveObject
复制代码

效果(先复制Test作为Service的前缀)

关于IDEA动态模板的使用
原文  https://juejin.im/post/5e92830851882573866b98fa
正文到此结束
Loading...