he experimentado el mismo problema, y no mientras yo tener una solución, puedo decirte cómo soluciono el problema.
Debido a cómo funciona el formateo, evito deliberadamente líneas de código que son excesivamente largas. En general, cuando mantengo cortas las líneas, toma mejores decisiones sobre cómo formatear el código. Esto puede incluso trabajar con sentencias SQL, por ejemplo:
public static final String SELECT_SOMETHING = "SELECT"
+ "OBJECTID, THIS, THAT, THEOTHER, THING"
+ " FROM DBNAME.DBSCHEMA.TABLE_T"
+ " WHERE ID = ?";
Esta declaración formatos razonable, porque en lo posible elementos se separaron y se concatenan juntos. Cuando no hago esto, consigo resultados impredecibles:
public static final String SELECT_SOMETHING = "SELECT OBJECTID, SOMETHING FROM DBNAME.DBSCHEMA.TABLE_T WHERE ID = ?";
Para comentarios, que ubican a todos en una sola línea cuando sea posible, y deje que el ajuste de línea cuando lo hace el formato.
Además, es posible cambiar el estilo con el formateador de código para que las cosas funcionen mejor para su estilo de codificación. Es posible que desee que todos en el equipo utilicen el mismo formato, solo para evitar conflictos. Debido a que es más fácil comparar los cambios con otros desarrolladores o versiones anteriores utilizando su herramienta de control de origen, incluso si hace que partes de su código sean menos legibles, el uso del formateador aún me ha beneficiado.
Aún así, entiendo su frustración cuando el formateador toma malas decisiones.
No sé la respuesta. Pero cuando no quiero volver a formatear un documento completo, a menudo solo formato una parte. Primero, selecciono las líneas; luego presiono Ctrl-Shift-F. La porción no seleccionada del archivo no se modifica, :-) –
Al autor de la pregunta: Probablemente debería cambiar su respuesta aceptada a [respuesta de MPi] (http://stackoverflow.com/a/7096358/290213), como característica ha sido agregado recientemente a Eclipse. – dkarp