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,就可以选择我们的需要的函数并应用
在实时模板变量中使用的几个预定义函数,详细看官方文档
函数 | 描述 |
---|---|
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的前缀)