[目录]
参考
开发环境
名称 | 版本 |
---|---|
操作系统 | Windows 10 X64 |
JDK | JDK1.8(jdk-8u151-windows-x64) |
IntelliJ IDEA | IntelliJ IDEA 2018.3 |
自定义类注释
文件
-设置
-编辑器
-文件和代码模版
图中黄色圈部分是我加上去的,其他部分是原有的
/**
* @author:
* @version:
* @description: ${description}
* @date: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
**/
新建一个类
package com.test.invoice.data;
/**
* @author:
* @version:
* @description: 测试数据类
* @date: 2019-08-07 09:53
**/
public class TRbtTestData {
}
或者简单点
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
* ${description}
* - luoma - ${YEAR}年${MONTH}月${DAY}日${HOUR}:${MINUTE}
*/
public class ${NAME} {
}
自定义方法注释
文件
-设置
-编辑器
-代码模版
-添加 Template Group
命名为 luoma group
添加成功
选中 luoma group
,添加 Live Template
输入快键键
缩写: a
描述: 给方法添加注释
模板文本:
**
* @author: $author$
* @description: $description$
* @param: $params$
* @return: $returns$
* @date: $date$
**/
设置起作用的语言,这里我们选中 Java
编辑变量,注意这里需要在模板文本设置为 $名称$
才会出现,表达式可以通过下拉框选取
名称 | 表达式 | 含义 |
---|---|---|
author | user() | 获取系统用户 |
description | ||
params | methodParameters() | 获取方法参数 |
return | methodReturnType() | 获取方法返回类型 |
date | date() | 获取系统当前时间 |
确定,测试结果,编写一个方法,在方法先使用 /a
+ Tab
,就会出现下面的注释
package com.test.invoice.data;
/**
* @author:
* @version:
* @description: 测试数据类
* @date: 2019-08-07 09:53
**/
public class TRbtTestData {
/**
* @author: v_hwhao
* @description:
* @param: [a, b]
* @return: int
* @date: 2019/8/7
**/
public int Add(int a,int b)
{
return a+b;
}
}
显示类定义,方法定义注释提示
比如我们调用一个类,把鼠标放到类上显示类的注释,把鼠标放到方法上显示方法注释
比如下面的代码
package com.test.invoice.data;
/**
* @author:
* @version:
* @description: 测试数据类
* @date: 2019-08-07 09:53
**/
public class TRbtTestData {
/**
* @author: v_hwhao
* @description: 得到两个数相加值
* @param: [a, b]
* @return: int
* @date: 2019/8/7
**/
public int Add(int a,int b)
{
return a+b;
}
public void Test()
{
TRbtTestData test = new TRbtTestData();
test.Add(1,2);
}
}
在 Test() 方法中,我们把光标放到 TRbtTestData
,显示类注释 测试数据类
,把光标放到 Add
上,显示 得到两个数相加值
设置方法,文件
-设置
-常规
勾选Show quick documentation on mouse move
结果
但并不是我想要的效果,于是我尝试使用系统的自带的注释功能试试。
使用系统自带的注释功能
在类或方法使用 /**
+回车
就会出现系统自定义注释功能
测试类,这个类的注释使用 /**
+回车
生成
/**
* 测试数据类-1
*/
public class TRbtTestData1
{
/**
* 得到两个数相加值-1
* @param a 变量a
* @param b 变量b
* @return a+b
*/
public int Add(int a,int b)
{
return a+b;
}
}
调用
是我想要的效果,但是注释模板不是我自定义
我想用自定义的模版也达到这个效果?
这里尝试修改类模版,方法模版类达到这个效果
修改类注释模版,方法注释模版
结合系统生成的模板,我们修改之前的设置的模版
类注释模版
/**
* ${description}
* @author:
* @version:
* @date: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
*/
方法注释模版
**
* $description$
* @param $params$
* @return $return$
* @author: $author$
* @date: $date$
*/
新建一个类,使用自定义注释
package com.test.invoice.data;
/**
* 测试数据类-2
*
* @author:
* @version:
* @date: 2019-08-07 11:55
*/
public class TRbtTestData2 {
/**
* 得到两个数相加值-2
* @param [a, b]
* @return int
* @author: v_hwhao
* @date: 2019/8/7
*/
public int Add(int a,int b)
{
return a+b;
}
}
调用
已达到我想要的效果,还有一个问题,方法参数显示不出来
这个需要手动调整了
@param [a, b]
调整
@param a 变量a
@param b 变量b
常用 Live Template
try catch 代码块
try {
} catch (Exception e) {
}
短注释
//------------------------
长注释
//------------------------------------------------
region
//------------------------------------------------region
//------------------------------------------------endregion
日志相关
方法入口日志
缩写:
logm
模板文本:
log.info($content$,$params$);
编辑变量
- 名称:
content
表达式:
groovyScript("def params = _2.collect {'入参:【'+it+' = {}】'}.join(', '); return '\"' + _1 + '() 开始调用 => ' + (params.empty ? '' : params) + '\"'", methodName(), methodParameters())
名称:
params
- 表达式:
groovyScript("def params = _1.collect {it}.join(', '); return (params.empty ? '' : params) ", methodParameters())
- 名称:
方法异常日志
缩写:
loge
模板文本:
log.error($content$,$params$);
编辑变量
- 名称:
content
表达式:
groovyScript("def params = _2.collect {'入参:【'+it+' = {}】,e:'}.join(', '); return '\"' + _1 + '() 调用异常 => ' + (params.empty ? '' : params) + '\"'", methodName(), methodParameters())
名称:
params
- 表达式:
groovyScript("def params = _1.collect {it}.join(', '); return (params.empty ? '' : params) + ',e' ", methodParameters())
- 名称:
方法返回日志
缩写:
logr
模板文本:
log.info("$METHOD_NAME$() 结束调用,返回结果: " + $result$);
编辑变量
- 名称:
METHOD_NAME
表达式:
methodName()
名称:
result
- 表达式:
variableOfType(methodReturnType())
- 名称:
效果
public String edit(@RequestParam(name = "id", defaultValue = "0") Long id) {
String title;
try {
//logm
log.info("edit() 开始调用 => 入参:【id = {}】",id);
//logr
log.info("edit() 结束调用,返回结果: " + title);
return title;
} catch (Exception e) {
//loge
log.error("edit() 调用异常 => 入参:【id = {}】,e:",id,e);
return "";
}
}
日志相关-统一方法名
方法名称变量
缩写:
mt
模板文本:
String methodName = "$METHOD_NAME$() >> ";
编辑变量
- 名称:
METHOD_NAME
- 表达式:
methodName()
- 名称:
方法入口日志
缩写:
logm
模板文本:
log.info($content$, $params$);
编辑变量
- 名称:
content
表达式:
groovyScript("def params = _2.collect {'入参:【'+it+' = {}】'}.join(', '); return 'methodName + \"开始调用 >> ' + (params.empty ? '' : params) + '\"'", methodName(), methodParameters())
名称:
params
- 表达式:
groovyScript("def params = _1.collect {it}.join(', '); return (params.empty ? '' : params) ", methodParameters())
- 名称:
或者
缩写:
logbegin
模板文本:
log.info($content$, $params$);
编辑变量
- 名称:
content
表达式:
groovyScript("def params = _2.collect {'入参:【'+it+' = {}】'}.join(', '); return '\"{}开始调用 >> ' + (params.empty ? '' : params) + '\"'", methodName(), methodParameters())
名称:
params
- 表达式:
groovyScript("def params = _1.collect {it}.join(', '); return 'methodName, ' + (params.empty ? '' : params) ", methodParameters())
- 名称:
方法异常日志
缩写:
loge
模板文本:
log.error($content$, $params$);
编辑变量
- 名称:
content
表达式:
groovyScript("def params = _2.collect {'入参:【'+it+' = {}】,e:'}.join(', '); return 'methodName + \"调用异常 >> ' + (params.empty ? '' : params) + '\"'", methodName(), methodParameters())
名称:
params
- 表达式:
groovyScript("def params = _1.collect {it}.join(', '); return (params.empty ? '' : params) + ', e' ", methodParameters())
- 名称:
或者
缩写:
logerror
模板文本:
log.error($content$, $params$);
编辑变量
- 名称:
content
表达式:
groovyScript("def params = _2.collect {'入参:【'+it+' = {}】,e:'}.join(', '); return '\"{}调用异常 >> ' + (params.empty ? '' : params) + '\"'", methodName(), methodParameters())
名称:
params
- 表达式:
groovyScript("def params = _1.collect {it}.join(', '); return 'methodName, ' + (params.empty ? '' : params) + ', e' ", methodParameters())
- 名称:
方法返回日志
缩写:
logr
模板文本:
log.info(methodName + "结束调用,返回结果:{}", $result$);
编辑变量
- 名称:
METHOD_NAME
表达式:
methodName()
名称:
result
- 表达式:
variableOfType(methodReturnType())
- 名称:
或者
缩写:
logend
模板文本:
log.info("{}结束调用,返回结果:{}", methodName, $result$);
方法日志
方法返回日志
缩写:
logi
模板文本:
log.info(methodName + "");
或者
缩写:
loginfo
模板文本:
log.info("{}", methodName);
效果
public String edit(@RequestParam(name = "id", defaultValue = "0") Long id) {
String title;
//mt
String methodName = "edit() >> ";
try {
//logm
log.info(methodName + "开始调用 >> 入参:【id = {}】", id);
//logr
log.info(methodName + "结束调用,返回结果:{}", title);
//logi
log.info(methodName + "");
return title;
} catch (Exception e) {
//loge
log.error(methodName + "调用异常 >> 入参:【id = {}】,e:", id, e);
return "";
}
}