Ala*_*aya 12 c++ coding-style clang-format
我正在使用vim-autoformat
,它clang-format
用作外部格式化程序.
似乎clang-format
不会缩进C++ #pragma
.例如:
#include <omp.h>
#include <cstdio>
int main()
{
#pragma omp parallel for
for (int i = 0; i < 10; ++i)
{
puts("demo");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想把它格式化为:
#include <omp.h>
#include <cstdio>
int main()
{
#pragma omp parallel for
for (int i = 0; i < 10; ++i)
{
puts("demo");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我检查了clangformat,但没有找到我可以使用的选项.
虽然已经晚了,但这就是您正在寻找的解决方案。它将编译指示与代码块一起格式化。
https://github.com/MedicineYeh/p-clang-format
主要概念是替换字符串,以便格式化程序在这些编译指示上使用“正确”的规则。动机示例如下。
# Replace "#pragma omp" by "//#pragma omp"
sed -i 's/#pragma omp/\/\/#pragma omp/g' ./main.c
# Do format
clang-format ./main.c
# Replace "// *#pragma omp" by "#pragma omp"
sed -i 's/\/\/ *#pragma omp/#pragma omp/g' ./main.c
Run Code Online (Sandbox Code Playgroud)