style guides guide google code java eclipse formatter

java - guides - Cómo detener el formateador Eclipse de colocar todas las enumeraciones en una línea



google style guides (5)

Debe configurar la política de ajuste de línea en la declaración enum para "Constantes".

Establezca la política de ajuste a

  • Ajustar todos los elementos, cada elemento en una nueva línea

Y

  • Marque la casilla que dice "Forzar división, incluso si la línea es más corta que ,,,,,

Tengo enumeraciones como:

public static enum Command { login, register, logout, newMessage }

Al formatear el archivo, la salida se convierte en:

public static enum Command { login, register, logout, newMessage }


La respuesta de @wjans funcionó bien para las enumeraciones normales, pero no para las enumeraciones con argumentos. Para ampliar un poco su respuesta, esta es la configuración que proporcionó el formato más sensible para mí en Eclipse Juno:

  1. Window > Preferences > Java > Code Style > Formatter
  2. Haga clic en Edit
  3. Seleccione la pestaña Line Wrapping
  4. Seleccione la declaración enum treenode
  5. Establezca la Line wrapping policy ajuste de Line wrapping policy Ajustar Wrap all elements, every element on a new line (...) por lo que ahora dice 3 de 3 en el paréntesis.
  6. Desmarque Force split, even if line shorter than maximum line width (...) entonces ahora dice 3 de 3 en el paréntesis.
  7. Seleccione las Constants treenode
  8. Marque Force split, even if line shorter than maximum line width

Esto establece los 3 subnodos para el enum treenode a la misma política de ajuste, y la misma política de división de fuerzas, excepto para las Constants treenode, por lo que sus enum con argumentos se formatearán cada una en su propia línea. Los argumentos solo se ajustarán si exceden el ancho máximo de línea.

Ejemplos:

@wjans

enum Example { CANCELLED, RUNNING, WAITING, FINISHED } enum Example { GREEN( 0, 255, 0), RED( 255, 0, 0) }

Solución descrita arriba:

enum Example { CANCELLED, RUNNING, WAITING, FINISHED } enum Example { GREEN(0, 255, 0), RED(255, 0, 0) }


No es agradable, pero puedes desactivar el formateador Eclipse para algunas secciones de código ...

// @formatter:off public static enum Command { login, register, logout, newMessage }; // @formatter:on

la opción está en el panel de Windows-> Preferencias-> Java-> Estilo de código-> Formateador-> Editar-> Desactivar / Activar


Puede especificar esto en sus preferencias de formateador:

  • Preferencias: Java - Estilo de código - Formateador
  • Haga clic en Editar
  • Seleccione la pestaña ''Ajuste de línea''
  • Seleccione la declaración ''enum'' -> Constantes en el cuadro de la izquierda
  • Establezca la política de ajuste de línea en ''Ajustar todos los elementos, cada elemento en una nueva línea''
  • Marque "Forzar división ..."

También es un poco feo, pero si la política de su compañía le impide cambiar el formateador, puede simplemente poner comentarios al final de las líneas que no desea envolver.

public static enum Command { login,// register,// logout,// newMessage// };