2010-11-13 20 views
46

Acabo de crear un generador para algunas interfaces fluidas. Ahora tengo un montón de código con este aspecto:¿Cómo sangrar el patrón de interfaz fluido "correctamente" con eclipse?

new MyFluentInterface() 
    .setFirst("first") 
    .setSecond("second") 
    .setThird("third") 
    .invoke(obj); 

me gusta la sangría se muestra arriba, pero no puedo encontrar una manera de configurar Eclipse para sangrar esto correctamente.

Eclipse siempre sangra como esto:

new MyFluentInterface() 
.setFirst("first") 
.setSecond("second") 
.setThird("third") 
.invoke(obj); 

¿Cómo puedo configurar Eclipse para que sangra este patrón interfaz fluida como se muestra en mi primer ejemplo de código?

+0

¿Desea que el formateador lo haga? Me refiero a "CONTROL + MAYÚSCULAS + f" en todo el búfer o ¿desea poder sangrar solo esa línea? – dacwe

+0

Estaría bien si el formateador o el penetrador de eclipse pudieran producir esto ... – tangens

+1

Hola, sé que este es un hilo viejo, ¿has notado que 'Ctrl + A',' Ctrl + I' deshace este formateo? – durron597

Respuesta

63

Con Eclipse 3.6, esto parece factible configurando su perfil personalizado Java> Code Style> Formatter. Edítelo y vaya a la pestaña Envoltorio de línea y seleccione Llamada de función> Invocaciones calificadas. Luego, en los Ajustes para invocaciones calificados, configurar cosas como esta:

alt text

Esto se (debe) producen el resultado esperado:

SomeEntity e1 = new SomeEntity.Builder() 
    .age(10) 
    .amount(10.0d) 
    .firstname("foo") 
    .lastname("bar") 
    .build(); 

Pero esto afectará, obviamente, todo el código que personalmente no me gusta Así que estoy usando el nuevo Off/On Tags desde Eclipse 3.6 (última pestaña cuando se edita un perfil):

alt text

y encierran las partes que no se deje formateados como yo quiero y hacerlo yo mismo:

// @formatter:off 
SomeEntity e2 = new SomeEntity.Builder() 
    .age(10) 
    .amount(10.0d) 
    .firstname("foo") 
    .lastname("bar") 
    .build(); 
// @formatter:on 

Elija su veneno :)

+1

No había notado las etiquetas off/on antes, muy agradable. –

+0

nice answer (+1). ahora, si también conoces un plugin de eclipse que genere setters fluidos ... :-) –

+4

@seanizer: en realidad, lo anterior es el resultado del [Builder Pattern Eclipse Plugin] (http://boss.bekk.no/ bpep /). Me gusta este pequeño complemento como es :) –

Cuestiones relacionadas