Estamos actualizando nuestro formato clang de 5.0 a 10.0 (sí, sé que este es un gran salto :-)) El archivo .clang-format se mantiene constante.

Con la versión 5.0 obtenemos un formato como este

virtual Composite *copy_composite_tree(Composite *parent  // parent of copied tree
                                      ) const;

Con la versión 10.0 esto cambia a

virtual Composite *copy_composite_tree(Composite *parent  // parent of copied tree
) const;

¿Existe una opción para mantener el estilo de formato 5.0?

3
schorsch312 24 jun. 2020 a las 11:05

2 respuestas

La mejor respuesta

Considero que se trata de un error, que se introdujo con el formato clang 9.0.1, ya que todos los estilos de construcción, como LLVM, Google, ... muestran el mismo comportamiento.

Informé este error al proyecto llvm.

https://bugs.llvm.org/show_bug.cgi?id=46509

3
schorsch312 1 jul. 2020 a las 09:32

Supongo que esto simplemente se rige por la alineación de corchetes como todo lo demás, citando la documentación de clanes:

AlignAfterOpenBracket (BracketAlignmentStyle) Si true, alinea horizontalmente los argumentos después de un corchete abierto. Esto se aplica a corchetes (paréntesis), corchetes angulares y corchetes.

Valores posibles:

BAS_Align (en configuración: Alinear) Alinear parámetros en el paréntesis abierto, por ejemplo:

someLongFunction(argument1,
                 argument2);

BAS_DontAlign (en configuración: DontAlign) No se alinee, en su lugar use ContinuationIndentWidth, por ejemplo:

someLongFunction(argument1,
    argument2);

BAS_AlwaysBreak (en configuración: AlwaysBreak) Siempre se rompe después de un paréntesis abierto, si los parámetros no se ajustan a una sola línea, por ejemplo:

someLongFunction(
    argument1, argument2);
2
Frostbite 1 jul. 2020 a las 02:11