Eclipse: ¿Se puede formatear el código al guardar?

123

En Eclipse, en Windows-> Preference-> Java-> Code Style, puede definir plantillas de código para comentarios y código, y puede configurar un formateador de código.

Me pregunto si en Eclipse es posible que esta configuración surta efecto cada vez que guardo un archivo fuente. Básicamente, en lugar de resaltar todo y presionar Ctrl+ Shift+ F, quiero que Eclipse sea responsable de asegurarse de que mi código esté formateado correctamente.

¿Es esto posible y cómo lo configuras?

Nota sobre el uso del formato automático: Probablemente sea mejor elegir "Formatear líneas editadas", ya que la combinación de cambios se vuelve muy difícil cuando formatea un archivo completo que está en control de origen y que no se ha formateado correctamente. Ya le hice esto a un compañero de trabajo.

Fostah
fuente
44
Gran pregunta, pero no estoy de acuerdo con habilitar "Formatear líneas editadas". Si todo el equipo tiene acceso al mismo formato de descriptor XML a través de SCM, entonces el equipo debe esperar que sus archivos se vuelvan a formatear. En otras palabras, el dolor a corto plazo de la fusión merece el beneficio de un formato consistente.
HDave
2
@HDave está de acuerdo. El código debe ser robusto en cualquier momento contra una "Fuente de formato" en todos los proyectos.
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen Si todos usan esta configuración, puede seleccionar "Formatear líneas editadas". Ahorrará algo de tiempo si sus archivos son grandes. Estoy de acuerdo con usted sobre la necesidad de que el código sea robusto frente a una "Fuente de formato", pero no es tarea del eclipse asegurarse de que este sea el caso, creo.
brimborium
@brimborium una decisión política. Personalmente, creo que cuanto más cerca se mantenga de la configuración predeterminada, se ejecutarán las cosas más suaves.
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen Eso significaría que la opción de formateo automático está desactivada ...;) Quiero decir, siempre guardo Ctrl+Shift+Fseguido Ctrl+S, por lo que estaría bien para mí, pero hay otros tipos a los que no les importa formatear. Esta característica hace nuestra vida mucho más fácil ...
brimborium

Respuestas:

203

Debajo Preferences, elija Java-> Editor-> Save Actions. Marque el Perform the selected actions on save, y marque la Format source codecasilla.

Esto puede o no estar disponible en versiones anteriores de Eclipse. Sé que funciona en:

Version: 3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft<br>
Build id: M20080221-1800
Neal Swearer
fuente
3
Esto parece muy útil: ¿hay alguna manera de lograr lo mismo para el código PHP?
Vacilando
3
Bien, pero ¿cómo haces lo mismo para los archivos que no son Java?
ᆼ ᆺ ᆼ
@ PéterVarga si estás usando PyDev,
mira
1
Esto parece muy útil: ¿hay alguna manera de lograr lo mismo para el código C ++?
HAL9000
15

Le recomiendo verificar su descriptor xml de formato eclipse en el control de código fuente. De esa manera, todos los miembros del equipo pueden usarlo y no puedes volver a formatear batallas.

serg10
fuente
¿Se puede hacer esto para que el archivo XML se instale por defecto?
HDave
12

Tengo una instantánea de la configuración. Por favor sigue el camino:

En la Preferencesventana, elija Java-> Editor-> Save Actions.

Comprueba el Perform the selected actions on savey comprueba el Format source code box.

ingrese la descripción de la imagen aquí

VdeX
fuente
2

Si descubre que no tiene Save Actionspreferencia en Java-> Editor, puede ser porque está utilizando una versión anterior de Eclipse. En ese caso, puede instalar el formato en el complemento Guardar desde aquí .

Luego, debajo Preferences, elija Java-> Format on save. Seleccione la Run Formatopción debajoSelect a code formatting action

MA Kishawy
fuente