solo - todas las excepciones en java
¿Puedo definir excepciones a las reglas de limpieza de Eclipse? (7)
Supongo que en realidad no quiere decir ''Limpiar'', sino la opción ''Formatear código fuente'' oculta dentro. Se configura en Preferencias> Java> Estilo de código> Formateador. Y, de hecho, hay una opción llamada ''Etiquetas de encendido / apagado''. Lamentablemente, está apagado por defecto. Ahora lo escribirías así:
// @formatter:off
StringBuilder sql = new StringBuilder()
.append("SELECT whatever /n")
.append("FROM some_table");
// @formatter:on
Es posible que la respuesta aceptada fuera correcta en el momento de la redacción, sin embargo, esto se introdujo en Eclipse 3.5, si no me equivoco.
Muy a menudo, las reglas de limpieza (Preferencias> Java> Estilo de código> Limpieza) en Eclipse funcionan perfectamente y crean un código atractivo.
Pero a veces, especialmente con comentarios y fragmentos de cadena concatenados (como consultas SQL en línea), la limpieza simplemente estropea las cosas y destruye mi formateo.
¿Hay alguna manera de decirle a Eclipse "No toques este bloque de texto, lo he formateado de la manera que me gusta y lo harías menos legible" ?
(solo para comentarios de Javadoc)
Si tengo un bloque de texto con el formato justo como a mí me gusta, los adjunto con las etiquetas <pre> </ pre>.
He experimentado el mismo problema, y aunque no tengo una solución, puedo decirte cómo me las arreglo para resolver el problema.
Debido a cómo funciona el formateo, deliberadamente evito las 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 incluso puede funcionar con sentencias de 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 formatea de forma razonable, ya que, cuando es posible, los elementos se dividieron y concatenaron juntos. Cuando no hago esto, obtengo resultados impredecibles:
public static final String SELECT_SOMETHING = "SELECT OBJECTID, SOMETHING FROM DBNAME.DBSCHEMA.TABLE_T WHERE ID = ?";
Para comentarios, los coloco todos en una sola línea cuando sea posible, y le permito ajustar la palabra cuando se formatea.
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 tu frustración cuando el formateador toma malas decisiones.
No estoy seguro de responder a mi propia pregunta, pero hay una solución alternativa que tengo actualmente ( nota: tengo estas reglas de limpieza como acción de guardado ):
Guarde (con Ctrl / Cmd-S, no sé si importa cómo guarda) el código, y deje que Eclipse desordene su formateo. A continuación, presione Ctrl / Cmd-Z para deshacer, e inmediatamente vuelva a guardar. El formato vuelve a su formato original y parece guardarse como estaba previsto.
No. (Hasta donde sé, he tenido el mismo problema y he buscado muchas veces mucho y mucho ...)
si no desea que un campo se convierta en definitivo (ii: porque quiere cambiarlo mientras depura), simplemente se lo asigna al constructor. Esto recibiría una advertencia de eclipse, pero su campo permanecerá no final.
Para las sentencias SQL en código, puede poner un carácter de comentario de una sola línea al final de cada línea. Entonces el formateador no puede formatearlo. Es más feo que no tener que hacerlo, pero es más bonito que si Eclipse lo formatea.
StringBuffer sql = new StringBuffer() //
.append("SELECT whatever /n") //
.append("FROM some_table");