c++ - ¿Puede el formato clang agregar llaves a una sola línea si las declaraciones, etc.
clang-format (1)
clang-tidy puede hacer cambios sintácticos en tu código usando FIXITS
clang-tidy YOUR_FILE.cpp -fix -checks="readability-braces-around-statements" -- COMPILE_OPTIONS
Actualizado:
clang-tidy es una herramienta bastante pesada para esto, ya que necesita opciones de compilación para analizar el archivo, lamentablemente el formato clang (a partir de v3.9) no agregará llaves.
COMPILE_OPTIONS
serían las rutas de inclusión, etc. que utiliza para compilar el archivo, es decir, -std=c++14 -stdlib=libc++ -O2 -I.
Si tiene un archivo compile_options.json
de CMake, puede pasar la ruta del directorio en el que está contenido a clang-tidy y buscará las opciones de compilación apropiadas para el archivo:
clang-tidy YOUR_FILE.cpp -fix -checks="readability-braces-around-statements" -p COMPILE_OPTIONS_DIR
¿Existe una opción para el formato clang para agregar llaves a todas las instrucciones if () / do / while, etc.?
p.ej
if( i == 42 )
std::cout << "You found the meaning of life/n";
else
std::cout << "Wrong!/n";
a
if( i == 42 )
{
std::cout << "You found the meaning of life/n";
}
else
{
std::cout << "Wrong!/n";
}
Utilizando
$ clang-format --version
clang-format version 3.6.0