Prefacio
Creo que muchas personas han encontrado varios problemas al configurar los comentarios de la plantilla, especialmente cuando se configuran los comentarios de la plantilla de método (como los parámetros y los valores de retorno están vacíos). También he realizado muchas búsquedas en Internet, pero sabes que, al final, no volveré a nada. Este artículo te solucionará este problema. Debido a que las anotaciones de plantilla de la clase son muy sencillas, los métodos de búsqueda online también pueden solucionar el problema de generar clases. La situación de los comentarios de la plantilla, por lo que este artículo no presentará, solo cómo generar comentarios de la plantilla de método , además Groovy
del significado específico del script utilizado, para que pueda escribir su propio Groovy
script para satisfacer sus propias necesidades, al final También habrá una Gif
imagen en movimiento para mostrar el método de uso específico, no hay mucho que decir, comenzar a presentar.
Crear plantilla
Haga clic primero File -> Settings -> Editor -> Live Templates
y aparecerá la siguiente interfaz:
Luego debemos hacer clic +
y seleccionar Template Group...
:
Luego elija cualquier nombre y haga clic en OK
:
Luego siga la imagen a continuación, primero seleccione el que acabamos de crear Group
, luego haga clic +
y seleccione Live Template
:
Luego, complete la información marcada en la figura en la interfaz emergente:
1
La posición en la imagen se usa de acuerdo con la tradición (creo que la mayoría de la gente solía configurarla de esta manera) *
, y las correspondientes Template text
son las siguientes:
**
* description
$params$
*
$return$
* @author zjw
* @createTime $date$ $time$
*/
Debe prestar especial atención aquí, Template text
el comienzo del contenido no puede ser el /**
comienzo, de lo contrario, habrá una situación en la que los parámetros y los valores de retorno estarán vacíos. Puede pensar que lo ha configurado de esta manera antes, pero no funciona, pero continúe leyendo Continúe, porque lo he encontrado antes, y lo que estoy aquí Template text
es que coincida con el código del siguiente script, por lo que puede que no tenga el mismo aspecto.
Luego debe seguir los pasos en la figura a continuación para configurarlo Application Contexts
, debe seleccionarlo Java
y recordar hacer clic después de que termine Apply
:
Guión de ubicación
Después de completar los pasos anteriores, puede iniciar un script correspondiente a la configuración de acuerdo con el siguiente paso de la FIG, y 2
, e 3
ingresar los dos siguientes en cada Groovy
script (el significado del script se describe más adelante), 4
y 5
en el cuadro desplegable para seleccionar el sistema predeterminado :
groovyScript("def result='';def flag=false;def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if (!params[i].equals('')) {flag=true;result+='* @param ' + params[i] + ' ' + params[i] + ((i < params.size() - 1) ? '\\n\\t ':'')} else {result+=' *'}}; return flag ? ' *\\n\t ' + result : result", methodParameters())
groovyScript("def params=\"${_1}\";def index=params.lastIndexOf('.', params.indexOf('<'));if(index!=-1){params=params.substring(index+1);};index=params.indexOf('.');if(index!=-1&¶ms.indexOf('<')==-1){params=params.substring(index+1);};return ' * @return ' + params.replaceAll('java.lang.', '').replaceAll(',',', ');", methodReturnType())
Después de completar una pequeña configuración, haga clic en OK
y Apply
para usar nuestra plantilla.
Prueba de uso de anotaciones
Antes de explicar el Groovy
significado del script anterior , veamos cómo usar la plantilla de anotación de la configuración anterior:
solo necesitamos ingresar el método que necesita agregar anotaciones /*
y presionar Tab
para generarlo. Aquí *
corresponde a la Abbreviation
configuración anterior , *
que es igual a utilizado *
para reemplazar la configuración descrita anteriormente Template text
, y Template text
la adición de un frente /
, agregamos con éxito a la plantilla de comentarios, correspondiente al Gif
movimiento de operación es el siguiente:
Introducción al significado de la escritura
Tome el $return$
guión establecido como ejemplo. Para facilitar la explicación, el guión está formateado. El código y su significado son directamente los siguientes, Groovy
y Java
la sintaxis es muy similar, por lo que no es difícil de entender:
groovyScript("
// 将 methodReturnType() 的返回值转化为字符串赋给 params
// 默认的返回值格式为 pojo.User / java.lang.int 等形式
def params = \"${
_1}\";
// 如果返回值有集合时,原始形式为 java.util.List<java.lang.Integer> 这种形式
// 这里获取 '<' 前的 '.' 下标
def index = params.lastIndexOf('.', params.indexOf('<'));
if (index != -1) {
// 执行到这里说明返回值有泛型,为了看着更舒服
// 这里的作用是把 java.util.List<java.lang.Integer> 变为 List<java.lang.Integer>
params = params.substring(index + 1);
};
// 这里继续获取 '.' 的下标
index = params.indexOf('.');
// 如果 '.' 存在,且不存在 '<' 说明返回值没有泛型
if (index != -1 && params.indexOf('<') == -1) {
// 把返回值为 pojo.User 这种变为 User
params = params.substring(index + 1);
};
// 当返回值为基本类型时,都会有 'java.lang.' 前缀
// 例如 java.lang.int ,这里去掉了 java.lang.
// 此外将返回结果中的 ','替换为', '是为了处理 有多个泛型参数的情况
// 例如原始返回值可能为 java.util.Map<java.lang.Integer,java.lang.String>
// 这里为了让泛型之间的 ',' 变成 ', ' 更加美观
// 需要注意的是,我没有处理 java.util.List<pojo.User> 这种情况
// 经过这些代码只会变为 List<pojo.User>, 这个就留给大家自己做了
return ' * @return ' + params.replaceAll('java.lang.', '').replaceAll(',', ', ');
",
methodReturnType()
)
Nota
Aquí solo muestro return
todo el significado del código de secuencia de comandos procesado . El código también es un poco feo, así que todavía espero que puedas escribir tus propias Grovvy
secuencias de comandos y compartirlas. Como mi param
secuencia de comandos es demasiado fea, no lo haré aquí. Explicado, si tienes alguna duda, también puedes dejar un mensaje.
para resumir
Este artículo explica IDEA
algunos de los problemas que pueden surgir al utilizar los comentarios de la plantilla de métodos personalizados generados. Por supuesto, es posible que aún encuentre algunos problemas debido a algunas razones de versión o razones operativas. También puede dejar un mensaje y discutir juntos.