保留特定预处理器包含具有 clang 格式的块的缩进



我们在包含外部库时包含了保护某些定义的机制,我们希望在格式化代码时保持原样,最终按字母顺序对块的内容进行排序。

例如:

#include <ExternalIncludeBegin.h>
#    include <somelib/someheader.h>
#    include <somelib/anotherheader.h>
#include <ExternalIncludeEnd.h>

现在,clang格式将这个块转换为

#include <ExternalIncludeBegin.h>
#include <somelib/someheader.h>
#include <somelib/anotherheader.h>
#include <ExternalIncludeEnd.h>

但是我想保留原始缩进,如果可能的话,不必用新代码封装所有内容(我们想要格式化的代码库又旧又大(,clang格式在这里可以为我做什么吗?

看看"禁用格式"功能

Disabling Formatting on a Piece of Code
Clang-format understands also special comments that switch formatting in a delimited range. The code between a comment // clang-format off or /* clang-format off */ up to a comment // clang-format on or /* clang-format on */ will not be formatted. The comments themselves will be formatted (aligned) normally.
int formatted_code;
// clang-format off
void    unformatted_code  ;
// clang-format on
void formatted_code_again;

更多详细信息: https://clang.llvm.org/docs/ClangFormatStyleOptions.html

因此,您也可以使用"sed"或其他工具,以便在整个项目中注入特定于 clang 的注释。

相关内容

  • 没有找到相关文章

最新更新