2009-08-26 6 views
6

Estoy usando astyle que es excelente para aplicar estilo estándar al código existente. Sin embargo, me he dado cuenta de que cuando se trata a través de este:astyle formateo línea múltiple <<

ostringstream myStream; 
myStream << 1 
     << 2; 

se vuelve a formatear a esto:

ostringstream myStream; 
myStream << 1 
<< 2; 

Aquí está mi archivo de opciones: (versión 1,23)

--indent=spaces 
--brackets=break 
--indent-switches 
--indent-namespaces 
--min-conditional-indent=4 
--break-closing-brackets 
--pad-paren-in 
--unpad-paren 
--convert-tabs 

¿Hay alguna manera de alinear el "< <" en la línea siguiente?

Editar:

También probé la versión 1.22 con el siguiente archivo (test.cpp):

void main() 
{ 
    ostringstream myStream; 
    myStream << 1 
      << 2; 
} 

con las siguientes opciones (format.txt):

--indent=spaces 
--brackets=break-closing 
--indent-switches 
--indent-namespaces 
--min-conditional-indent=4 
--pad=paren-in 
--unpad=paren 
--convert-tabs 

y la siguiente línea de comando:

astyle --options = format.txt test.cpp

que produjo este:

void main() 
{ 
    ostringstream myStream; 
    myStream << 1 
    << 2; 
} 

Respuesta

8

conclusión final es que es un bugver abajo

Intenté replique su problema y no pudo obtener el comportamiento del que está hablando (actualización de la pregunta OP niega esto)

Editar: (contenido eliminado para actualizar)

nombres de los parámetros han cambiado entre 1,22 y 1,23.

Si ninguno de los dos resuelve su problema, intente cargar más código como ejemplo, o intente replicar su problema utilizando solo el código que pegó aquí. (Hecho por OP)

También he encontrado que el orden de las opciones parece haber hecho una diferencia en ocasiones. Por ejemplo:

astyle --indent=tab --style=ansi test.cpp 

no es el mismo que:

astyle --style=ansi --indent=tab test.cpp 

Especificación de la "--Estilo = ANSI" segunda niega efectivamente la "--indent = pestaña".

No me sorprendería que este sea su problema.

...Pero después de jugar con esto durante 20 minutos, estoy convencido de que es un astyle bug.

Editar para incluir un enlace a error: bug Gracias Markh44

+0

Gracias por la respuesta. Estaba usando v1.23 y esas opciones son correctas para esa versión. Obtuve la versión 1.22 y cambié las opciones para esa versión, pero me sale el mismo problema (vea la pregunta actualizada). – markh44

+0

Existe otro error en la versión 2.04. Agrega una nueva línea adicional al final de cualquier archivo. Es bastante molesto si usa la herramienta para validar el código en un paso previo a la confirmación. –