IDEA configura plantillas de comentarios como esta: necesarias para el desarrollo

1. Anotaciones de clase

Abra IDEA  Settings, haga clic en , haga clic   debajo de la pestaña de la  derecha y agregue el contenido en el cuadro rojo en la imagen: Editor-->File and Code TemplatesFileClass

/**
 * @author jitwxs
 * @date ${YEAR}年${MONTH}月${DAY}日 ${TIME}
 */

En la plantilla de ejemplo que proporcioné, se indican el autor y la hora, y todos los parámetros de la plantilla admitidos por IDEA se  Description enumeran a continuación.

Después de guardar, las anotaciones de clase se agregarán automáticamente cuando cree una nueva clase. Si desea que también surta efecto en la interfaz, simplemente configure los elementos en la imagen de arriba al mismo tiempo  Interface .

2. Notas sobre el método

  • @param Generar automáticamente anotaciones basadas en parámetros formales. 

  • Genere  @Return anotaciones de forma inteligente en función de si el método tiene un valor de retorno

En comparación con las plantillas de clase, agregar plantillas de anotaciones a los métodos es más complicado: primero,  Settings haga clic en  Editor-->Live Templates.

Haga clic en el extremo derecho  +y seleccione primero   para crear un grupo de plantillas:2. Template Group...

Complete el nombre del grupo en el cuadro de diálogo emergente, aquí lo llamo userDefine:

Luego seleccione el grupo de plantillas que acaba de crear  userDefine, luego haga clic  +y seleccione  :1. Live Template

En este punto se creará una plantilla vacía, modificamos los  Abbreviation,Description  y  Template text. Cabe señalar que Abbreviation debe ser   si el valor *bajo la última verificación  es la tecla Enter .Expand with

El contenido de la imagen de arriba  Template text es el siguiente, cópielo directamente, tenga en cuenta que no hay una primera línea  /\* está en la cuadrícula superior .

*
 * 
 * @author jitwxs
 * @date $date$ $time$$param$ $return$
 */

Observe  No applicable contexts yet el que está en la esquina inferior derecha, lo que significa que la plantilla aún no ha especificado el idioma de la aplicación:

Haga clic para  Definemarcar en el cuadro emergente Java, lo que significa que la plantilla se aplica a todos los archivos de tipo Java.

Recuerde que incluimos  Template text parámetros  $date$ similares a este cuando configuramos. En este momento, IDEA no sabe cuáles son estos parámetros. A continuación, realizaremos un mapeo de métodos en estos parámetros para que IDEA pueda comprender el significado de estos parámetros. Haga clic en  el botón:Edit variables 

Establezca los parámetros correspondientes para cada parámetro  Expression:

Cabe señalar que date usamos   la función incorporada de IDEA, que se puede seleccionar directamente usando el cuadro desplegable, y la  implementación predeterminada de este parámetro IDEA es muy pobre, por lo time que   debemos implementarlo manualmente. como sigue:Expressionparam

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

Además,  return también implementé este parámetro yo mismo, el código es el siguiente:

groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())

Nota: También notó que no verifiqué  Skip if defined el atributo, lo que significa que si este elemento se define al generar comentarios, el cursor del mouse lo omitirá directamente. No necesito esta función, por lo que es necesario marcar esta propiedad.

Haga clic en Aceptar para guardar la configuración y ¡listo!

3. Resultados de la inspección

3.1 Anotaciones de clase

Las anotaciones de clase solo se generarán automáticamente al crear una nueva clase . El efecto es el siguiente:

3.2 Comentarios del método

Se demostrarán las siguientes situaciones:

  1. ginseng amorfo

  2. único parámetro formal

  3. Múltiples parámetros formales

  4. sin valor de retorno

  5. Hay un valor de retorno

Por ejemplo, preguntas y respuestas

(1) ¿Por qué es  Abbreviation necesario llamar  a la plantilla \* ? Expand with ¿Asegúrate de que sea la tecla Intro?

Respuesta: Debido a que la lógica de generación de la plantilla IDEA es que  模板名 + 生成键cuando la clave de generación es Enter, podemos  * + Enter activar la plantilla escribiendo.

Esto también explica por qué la primera línea de la plantilla de comentarios es una  * , porque cuando ingresamos primero  /*, luego ingresamos  * + Entery activamos la plantilla, la primera línea simplemente está escrita  /**, lo que se ajusta a la especificación Javadoc.

(2) ¿Por qué hay una línea vacía en la plantilla de comentarios  \*?

Respuesta: Como estoy acostumbrado a escribir instrucciones de métodos en esta línea, he reservado una línea vacía para escribir, también puedes eliminarla.

(3)  $time$$param$ ¿Por qué estas dos cosas aparentemente no relacionadas están muy juntas en la plantilla de anotación?

Respuesta: En primer lugar, la mayoría de las funciones de generación de parámetros proporcionadas en Internet seguirán generando una línea vacía sin parámetros  @param, por lo que modifiqué el código de la función de parámetros para que no se genere sin parámetros , pero esto requiere tratar con otros. En la misma línea, de lo contrario no se puede manejar el retroceso. @param$param$ 

(4) ¿Por qué no se utiliza el parámetro de retorno  methodReturnType()sino que uno mismo lo implementa?

Respuesta: methodReturnType() En el caso de que no haya un valor de retorno, se devolverá void, lo cual no tiene mucho sentido, por lo que procesé el valor de retorno de métodoReturnType() y solo se generará cuando haya un valor de retorno.

(5) ¿Por qué  no una sola línea? $return$

Respuesta: Porque cuando  methodReturnType() se devuelve nulo, el problema de retroceso no se puede manejar, el motivo es el mismo que el del tercer punto.

 

 

 

 

 

 

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/guoweiting/article/details/115393145
Recomendado
Clasificación