Hacer que el formateador de código Java de Eclipse ignore los comentarios de bloque
comments formatter (9)
Acabo de aprender de un compañero de trabajo que Eclipse ofrece etiquetas de formato especiales que se pueden usar para esto:
// @formatter:off
/*
* ╔════════╦═══════╦══════════╗
* ║ Month ║ Sales ║ Position ║
* ╠════════╬═══════╬══════════╣
* ║ June ║ 44k ║ 2nd ║
* ║ July ║ 39k ║ 2nd ║
* ║ August ║ 49k ║ 4th ║
* ╚════════╩═══════╩══════════╝
*
* This comment shouldn''t be formatted, and will now be ignored by the formatter.
*/
// @formatter:on
Tenga en cuenta que puede necesitar habilitar manualmente esta función a través del menú Preferencias → Java> Estilo de código> Formateador, haciendo clic en Editar , seleccionando la pestaña Etiquetas desactivadas / activadas y marcando Habilitar etiquetas desactivadas / activadas ( source ).
Un Google rápido para la cadena @formatter: off me llevó a esta otra respuesta SO , que mencionó esta característica en el contexto de deshabilitar el formateador para bloques de código. Confirmé que funciona para comentarios de línea, comentarios de bloque "normales" y comentarios de bloque Javadoc también.
¿Hay alguna manera de hacer que el formateador de código Java integrado de Eclipse ignore los comentarios? Cada vez que lo ejecuto, se convierte esto:
/*
* PSEUDOCODE
* Read in user''s string/paragraph
*
* Three cases are possible
* Case 1: foobar
* do case 1 things
* Case 2: fred hacker
* do case 2 things
* Case 3: cowboyneal
* do case 3 things
*
* In all cases, do some other thing
*/
dentro de esto:
/*
* PSEUDOCODE Read in user''s string/paragraph
*
* Three cases are possible Case 1: foobar do case 1 things Case 2: fred
* hacker do case 2 things Case 3: cowboyneal do case 3 things
*
* In all cases, do some other thing
*/
Ya he jugado con Windows> Preferencias> Java> Estilo de código> Configuración de formateador pero no puedo encontrar uno para mantener el formato de comentarios. Estoy usando Eclipse 3.4.0.
Actualización 2010, como lo señala el OP y en esta respuesta , la cadena especial // @formatter:off
en Eclipse 3.6 es suficiente.
No estaba disponible en el momento de la pregunta.
Respuesta original: junio de 2009, Eclipse 3.4 / 3.5
Con el formateador de Java ( Windows > Preferences > Java > Code Style > Formatter
), puede crear un nuevo perfil de formateador.
En la pestaña Comentarios (en eclipse3.5), puede asegurarse, en la " Javadoc comment settings
", de quitar la marca de " Format HTML tags
".
Verifique también " Never join lines
" en la sección " General settings
".
Entonces tu comentario debería escribirse como:
/**
* PSEUDOCODE
* Read in user''s string/paragraph
*
* Three cases are possible:
* <dl>
* <dt>Case 1: foobar</dt>
* <dd> do case 1 things</dd>
* <dt>Case 2: fred hacker</dt>
* <dd> do case 2 things</dd>
* <dt>Case 3: cowboyneal</dt>
* <dd> do case 3 things</dd>
* </dl>
* In all cases, do some other thing
*/
Nota: He hecho un comentario de Javadoc , y no un simple comentario, ya que creo que un comentario con ese texto puede colocarse mejor frente a un método. Además, las secciones de Javadoc tienen más parámetros de formato para jugar.
Si está delante de un método (verdadero Javadoc), las etiquetas HTML <dl>
, <dt>
y <dd>
ayudarán a presentarlo correctamente dentro de la vista de Javadoc.
En Eclipse 3.4: Preferencias, Java-> Estilo de código-> Formateador, luego edite el perfil, pestaña de comentarios. Hay un montón de opciones allí para controlar el formato de comentarios.
Es dependiente del idioma
Por ejemplo, si trabaja con javascript, debería ir a "Ventana -> Preferencias -> Javascript -> Estilo de código -> Formateador" y luego editar las opciones del formateador.
Editar (reflejando cambios en OP Preguntas
Para editar el formato del código java, vaya a "Ventana -> Preferencias -> Java -> Estilo de código -> Formateador"
En la parte superior del panel verás
Perfil activo:
Eclipse [incorporado]
Desde allí, tiene un botón a la derecha, "Editar", y dos debajo, "Nuevo ..." e "Importar ...". Yo recomendaría editar el perfil existente.
En el cuadro de diálogo editar perfil, hay una serie de pestañas en la parte superior. La última pestaña es "Comentarios". Para deshabilitar por completo el formato de comentarios, desmarque "Habilitar el formato de comentario de Javadoc", "Habilitar el formato de comentario de bloque", "Habilitar el formato de comentario de línea" y "Habilitar el formato de comentario de encabezado".
Hay otra solución que puede usar para suprimir el formateo de comentarios de bloque específicos. Utilice /*-
(tenga en cuenta el guion) al comienzo del comentario en bloque, y el formato no se verá afectado si formatea el resto del archivo.
/*- * Here is a block comment with some very special * formatting that I want indent(1) to ignore. * * one * two * three */
Fuente: http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141999.html#350
Otra posibilidad es usar HTML <pre> en Javadoc:
/**
* <pre>
* this
* is
* kept
* as
* is
* </pre>
*/
Al menos así es como tiendo a incrustar mi ASCII-art en los comentarios del código fuente :)
Rodee el texto específico con <pre> </pre>
etiquetas <pre> </pre>
.
Si desea suprimir el formato en eclipse, siempre puede ajustar el contenido que NO se debe FORMAR en la etiqueta <pre>UNFORMATTED CONTENT</pre>
. El formateador Javadoc detectará esa etiqueta y dejará todo lo que haya entre las etiquetas sin formato.
Pros:
- El resto de Javadoc aún está formateado
- La salida html de Javadoc también estará "sin formatear" debido a las etiquetas pre
Contras:
- No viendo uno
Una solución consiste en agregar una etiqueta previa para los comentarios que no desea que eclipse para formatear
/**
* <pre>
* this part
* is
* out of
* format
*
* </pre>
*/