¿Cómo llamar al formato clang sobre una carpeta de proyecto cpp?

 C Programming >> Programación C >  >> Tags >> Clang
¿Cómo llamar al formato clang sobre una carpeta de proyecto cpp?

Desafortunadamente, no hay forma de aplicar el formato clang de forma recursiva. *.cpp solo coincidirá con los archivos en el directorio actual, no con los subdirectorios. Incluso **/* no funciona.

Afortunadamente, hay una solución:toma todos los nombres de archivo con el find y canalícelos. Por ejemplo, si desea formatear todos los .h y .cpp archivos en el directorio foo/bar/ recursivamente, puedes hacer

find foo/bar/ -iname *.h -o -iname *.cpp | xargs clang-format -i

Vea aquí para una discusión adicional.


¿Qué pasa con:

clang-format -i -style=WebKit *.cpp *.h

en la carpeta del proyecto. La opción -i lo hace en su lugar (por defecto, la salida formateada se escribe en stdout).


Primero crea un .clang-format archivo si no existe:

clang-format -style=WebKit -dump-config > .clang-format

Elija el estilo predefinido que desee o edite el .clang-format resultante archivo.

El configurador de formato clang es útil.

Luego ejecuta:

find . -regex '.*\.\(cpp\|hpp\|cc\|cxx\)' -exec clang-format -style=file -i {} \;

Otras extensiones de archivo además de cpp , hpp , cc y cxx se puede usar en la expresión regular, solo asegúrese de separarlos con \| .