clang-format目前将所有编译指示移动到第一列。 clang-format之前的一个例子:
for (int i = 0; i < 4; ++i) {
#pragma UNROLL
// ...some code...
}
clang-format后的相同代码:
for (int i = 0; i < 4; ++i) {
#pragma UNROLL
// ...some code...
}
有没有办法让clang-format完全忽略编译指示行而不更改源代码(即不会使源// clang-format off
混乱)?例如,使用正则表达式?
这与this question有关(我希望避免installing a third-party tool),并希望this bug report解决这个问题。
此外,虽然对于具有编译指示的行使用clang-format off
,但注释行本身将缩进到编译指示将缩进到的内容(使用clang-format 6.0.0):
for (int i = 0; i < 4; ++i) {
// clang-format off
#pragma UNROLL
// clang-format on
// ...some code...
}
答案 0 :(得分:0)
这可能是您要寻找的答案:
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