Pregunta

¿Hay alguna manera de hacer que el formateador de código Java incorporado 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
     */

en 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 & Gt; Java & Gt; Código Estilo & Gt; Configuraciones de formateador pero no puede encontrar una para mantener el formato de comentarios. Estoy usando Eclipse 3.4.0.

¿Fue útil?

Solución

Actualización 2010, como señalado por 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 Java ( Windows > Preferencias > Java > Code Style > Formatter ), puede crear un nuevo perfil de formateador.

En la pestaña Comentarios (en eclipse3.5), puede asegurarse, en la " Configuración de comentarios Javadoc " ;, para desmarcar " Formatear etiquetas HTML " ;.
Compruebe también el " Nunca unir líneas " en " Configuración general " sección.

Entonces su comentario debe 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 Javadoc , y no un simple comentario, ya que creo que un comentario con tanto texto puede colocarse mejor delante de un método. Además, las secciones Javadoc tienen más parámetros de formato para jugar.
Si está delante de un método (Javadoc verdadero), el etiquetas HTML < dl > ; , < dt > y < dd > ayudarán a presentarlo correctamente en la vista Javadoc.

Otros consejos

Hay otra solución que puede usar para suprimir el formato de comentarios de bloque específicos. Use / * - (tenga en cuenta el guión) al comienzo del comentario del 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

Acabo de enterarme por un compañero de trabajo que Eclipse ofrece etiquetas de formato especiales que pueden usarse 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 es posible que deba habilitar esta función manualmente a través del menú Preferencias ? Java > Código de estilo > Formateador, haciendo clic en Editar , seleccionando la pestaña Etiquetas de apagado / encendido y marcando Habilitar etiquetas de apagado / encendido (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. He confirmado que funciona para comentarios de línea, "normal". bloquear comentarios y Javadoc bloquear comentarios también.

Otra posibilidad es usar HTML's < pre > en Javadoc:

/**
 * <pre>
 *    this
 *   is
 *      kept
 *  as
 *    is
 * </pre>
 */

Al menos así es como tiendo a insertar mi arte ASCII en los comentarios del código fuente :)

Rodee el texto específico con < pre > < / pre > etiquetas.

En Eclipse 3.4: Preferencias, Java- > Code Style- > Formatter, luego edite el perfil, la pestaña de comentarios. Hay muchas opciones para controlar el formato de comentarios.

Si desea suprimir el formato en eclipse, siempre puede ajustar el contenido destinado a NO FORMARSE en la etiqueta < pre > CONTENIDO NO FORMATADO < / pre > . El formateador Javadoc detectará esa etiqueta y dejará todo sin formato entre ellas.

Pros:

  • El resto del Javadoc todavía está formateado
  • La salida html de Javadoc estará "sin formato" también debido a las etiquetas previas

Contras:

  • No ver uno

una solución alternativa es agregar la etiqueta pre para los comentarios que no desea que eclipse formatee

/**
 * <pre>
 *    this part
 *   is
 *      out of
 *  format
 *    
 * </pre>
 */

Es dependiente del idioma.

Por ejemplo, si trabaja con javascript, iría a " Ventana - > Preferencias - > Javascript - > Estilo de código - > Formateador " y luego edite las opciones de formateador.

Editar (que refleja los cambios en las preguntas de OP

Para editar el formato de código Java, vaya a " Ventana - > Preferencias - > Java - > Estilo de código - > Formateador "

En la parte superior del panel verá

  

Perfil activo:
  Eclipse [incorporado]

Desde allí tiene un botón a la derecha, " Editar " ;, y dos debajo, " Nuevo ... " y "Importar ...". Recomendaría editar el perfil existente.

En el cuadro de diálogo de edición de perfil, hay una serie de pestañas en la parte superior. La última pestaña es "Comentarios". Para deshabilitar completamente el formato de comentarios, desmarque " Habilitar el formato de comentarios Javadoc " ;, " Habilitar el formato de comentarios de bloque " ;, " Habilitar el formato de comentarios de línea " ;, y " Habilitar el formato de comentarios de encabezado " ;.

Puedes cambiar esto en Windows - Preferencias - Java - Estilo de código - Formateador, que haga clic en el botón Editar .., busque Comentarios, elija las líneas Nunca unirse.

Entonces, debería estar bien.

Prueba este. Esto funcionó para mí. Con el formateador Java (Windows > Preferencias > Java > Code Style > Formatter), puede crear un nuevo perfil Formateador a partir del existente y luego editarlo.

Si Eclipse no permite guardar esto, cree uno nuevo y guárdelo. ingrese la descripción de la imagen aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top