2009-05-08 18 views
127

Existen muchas herramientas de formato de código fuente. ¿Cuáles funcionan mejor para C++?Mejor formateador/embellecedor de código C++

Me interesan las herramientas de línea de comandos u otras cosas que se pueden ejecutar automáticamente al verificar la entrada/salida del código, preferiblemente sin necesidad de iniciar un editor o IDE.

(Si ves el que ya como aparece como una respuesta, votar para arriba. Si no está ahí, agregarlo.)

Respuesta

120

AStyle se puede personalizar en gran detalle para C++ y Java (y otros también)

Esta es una herramienta de formato de código fuente.


clang-format es una poderosa línea de comandos herramienta incluido con el compilador sonido metálico que maneja incluso las construcciones del lenguaje más oscuros de una manera coherente.

Se puede integrar con Visual Studio, Emacs, Vim (y otros) y puede formatear solo las líneas seleccionadas (o con git/svn para formatear algunas diferencias).

Se puede configurar con una variedad de opciones enumeradas here.

Cuando se usan archivos de configuración (denominados .clang-format), los estilos pueden ser por directorio; el archivo más cercano en los directorios principales se usará para un archivo en particular.

Los estilos pueden ser heredados de un valor preestablecido (dicen LLVM o Google) y más tarde pueden prevalecer sobre las diferentes opciones

Es utilizado por Google y otros, y puede ser de producción.


También mire el proyecto UniversalIndentGUI. Puedes experimentar con varios indenters usándolo: AStyle, Uncrustify, GreatCode, ... y selecciona el mejor para ti. Cualquiera de ellos se puede ejecutar más tarde desde una línea de comando.


Uncrustify tiene mucho de opciones configurables. Probablemente también necesite la GUI de Universal Indent (en la respuesta de Konstantin) para configurarla.

+1

Tenemos algunos archivos fuentes sucios llenos de macros complicadas, por lo que es difícil entender cómo modificar el código o establecer puntos de interrupción. Lo des-macroeditamos con gcc -E, lo que resultó en líneas muy largas de bucles anidados, declaraciones if, etc. Astyle solucionó eso para que fuera legible, lo que nos ahorró muchos problemas. ¡Astyle tiene un lugar permanente en mi plataforma de herramientas de software! – DarenW

+8

Consejo de Vim: si quiere embellecer el código en un archivo que está usando para editar, use:%! Astyle – tonylo

+0

Esta es una gran herramienta. Dirijo astyle cada vez que tengo que trabajar en el mismo proyecto con MSVStudio en Windows (en el trabajo) y emacs en Linux (en casa). Uso el estilo BSD con emacs y astyle (que es parecido al estilo que uso con el editor MSVC), y siempre he codificado correctamente el código fuente. ¡Incluso luce hermoso independientemente del tamaño de la pestaña! –

Cuestiones relacionadas