style intellij guide google español code java eclipse code-formatting

java - intellij - ¿Cómo aplico líneas en blanco alrededor de llaves no huérfanas en Eclipse?



google java style guide español (2)

La herramienta de formato Eclipse (Luna) no tiene en cuenta

  1. Cumplimiento de 1 línea en blanco antes y después de un refuerzo no huérfano en la declaración de no función.

for (...) { , if (...) { , } else { , } catch (...) {

  1. Hacer cumplir 0 líneas en blanco antes de una llave de cierre huérfana } .

  2. Ejecución de 1 línea en blanco después de una abrazadera de cierre huérfana, excepto cuando es seguida por otra abrazadera de cierre huérfana (regla 2 sobre la regla 3).

Terminología:

  • no huérfano = emparejado con operador / palabra clave
  • non-function = no una clase o declaración de método

Ejemplo:

... someCall(); } // ORPHAN CLOSE BRACE - NO BLANK LINE BEFORE OR AFTER } // ORPHAN CLOSE BRACE – BLANK LINE AFTER someOtherCall(); } // ORPHAN CLOSE BRACE – NO BLANK LINE BEFORE ... String result; int foo = 1000; // a blank line for (int x = 0; x < foo; x++) { // a blank line if (x < value) { // a blank line try { // a blank line result = methodCall(x); result.setBar(outtaReach); handleResult(x, result); x = z % 5; // a blank line } catch (Exception ex) { // a blank line doSomething(x, ex); // no blank line - orphan } // a blank line } else { // a blank line otherCall(x); // no blank line - orphan } // no blank line - orphan } // a blank line ...

Mis razones para esto son para mejorar la legibilidad del código; Dejaré que la JVM maneje la optimización. Dejando de lado las opiniones con respecto a mi estilo de formato deseado, ¿hay alguna forma de imponer este estilo de línea en blanco en Eclipse? Tal vez haya un plug-in para hacer esto que aún no he encontrado, ¿o tendría que codificar uno?

La sección "Líneas en blanco" de Java Code Formatter of Eclipse no proporciona la capacidad de hacer cumplir o aplicar esto. Es de destacar que no quiero forzar líneas en blanco entre bloques de código que no tienen llaves (vea los bloques de código String | int y result | handleResult() arriba como ejemplos).

La configuración más cercana que tengo a esto es:

Líneas en blanco en la unidad de compilación

  • Antes de la declaración del paquete: 0
  • Después de la declaración del paquete: 1
  • Antes de la declaración de importación: 1
  • Entre grupos de importación: 0
  • Después de la declaración de importación: 1
  • Entre declaraciones de clase: 1

Líneas en blanco dentro de las declaraciones de clase

  • Antes de la primera declaración: 1
  • Ante declaraciones del mismo tipo: 1.
  • Antes de las declaraciones de la clase miembro: 1
  • Antes de las declaraciones de campo: 0
  • Antes de las declaraciones de métodos: 1
  • Al comienzo del cuerpo del método: 1

Líneas en blanco existentes

  • Número de líneas vacías a conservar: 1

Echa un vistazo al plugin JIndent ; Es comercial, pero podría ser capaz de lograr las complejas reglas que está buscando.