我使用 clang-format 作为我的代码库的自动格式化工具。但它的一些功能让我很烦恼。
例如,我不希望它格式化我的宏定义,因为在大多数情况下,手动格式化它们更清晰。但我不知道如何以 clang 格式禁用它。
另一个小问题是指针对齐。有时,很明显让它左对齐,有时是右对齐。所以我宁愿自己动手。但是从 clang-format 中禁用它似乎是不可能的?
对这些问题有什么帮助吗?
您可以将宏包装在
// clang-format off
#define ... \
...
// clang-format on
Run Code Online (Sandbox Code Playgroud)
要避免手动编辑每个文件,您可以使用正则表达式
search: ^([ \t]*#[ \t]*define[ \t]+.+?\\\r?\n(?:.*?\\\r?\n)*.*?\r?\n)
replace: // clang-format off\r\n$1// clang-format on\r\n
Run Code Online (Sandbox Code Playgroud)
例如,在记事本+ +,Ctrl+ Shift+ F- “查找文件- ‘在文件中替换’。
迄今为止(直到 v11)还没有办法禁用指针对齐。您可以设置样式或派生样式(clang-format将分析文件以查找最常见的对齐方式&并*使用它)。
| 归档时间: |
|
| 查看次数: |
2065 次 |
| 最近记录: |