puede eclipsar configurarse formateador y el código de limpieza (o extendida) para añadir la sangría espero que en los siguientes ejemplos:¿Se puede configurar el formateador Eclipse para sangrar varias líneas entre paréntesis correctamente?
public static void main(String[] args) {
String[] numbers = new String[] {
"one",
"two",
"three",
"four",
};
new MessageFormat("{0} {1} {2} {3}").format(
"this is string one",
"this is string two",
"this is string three"
);
System.out.println(
new MessageFormat("{0} {1} {2} {3}").format(
new String[]{
"this is string zero",
"this is string one",
"this is string two",
"this is string three"
}
)
);
}
He jugado un poco con todos los ajustes que puedo encontrar. La opción "Nunca unirse a las líneas de" guarda de carnicería completamente el código, pero incluso entonces la sangría está todo pelado y el código sale así:
String[] numbers = new String[] {
"one",
"two",
"three",
"four",
};
new MessageFormat("{0} {1} {2} {3}").format(
"this is string one",
"this is string two",
"this is string three"
);
System.out.println(
new MessageFormat("{0} {1} {2} {3}").format(
new String[] {
"this is string zero",
"this is string one",
"this is string two",
"this is string three"
}
)
);
descubrí la capacidad de desactivar el formato de alrededor de tales bloques como esto:
// @formatter:off
String[] numbers = new String[] {
"one",
"two",
"three",
"four",
};
// @formatter:on
¿Qué es un trabajo decente en todo, excepto que mi código termina en desorden con ellos, y la parte "correcta sangría" de limpieza del código hace caso omiso de la Directiva y meta la pata de la sangría de todos modos.
Editar: Encontré la configuración para "Line Wrapping" -> "Indentación predeterminada para líneas envueltas" y "Indentación predeterminada para inicialización de matriz" y las establecí en "1" en lugar de "0". Es mejor para los inicializadores de matriz, pero todavía no parethesis cierre guión para que coincida con el paréntesis de apertura de la manera que yo quiero que:
public static void main(String[] args) {
String[] numbers = new String[] {
"one",
"two",
"three",
"four",
};
new MessageFormat("{0} {1} {2} {3}").format(
"this is string one",
"this is string two",
"this is string three"
);
System.out.println(
new MessageFormat("{0} {1} {2} {3}").format(
new String[] {
"this is string zero",
"this is string one",
"this is string two",
"this is string three"
}
)
);
}
Sí; cambie las sangrías para cada uno de los constructos. Hay 3-4 opciones para cada uno. Tiene una configuración bastante desastrosa si aplana algo, de manera predeterminada creo que obtengo el formato que desea. –