clang格式:禁用排序包含



在我们的C++项目中,include的顺序会定期更改。这是一个问题,因为我们正在使用一些第三方库,这些库需要特定的包含顺序来避免问题。

我知道,这很糟糕,但我们必须处理它。

不幸的是,我们的include顺序经常更改,我想这是由于clang-format。我找到了一个页面,您可以在其中指定一个变量includeCategories。然而,我并不完全理解它是如何运作的。我只是想完全禁用includes的排序。我该怎么做?

您尝试过:SortIncludes: false吗?

您可以在此处生成带有预览的.clang-format:https://zed0.co.uk/clang-format-configurator/

要禁用整个项目的排序,请在.clang-format中使用SortIncludes:false

要仅对特定文件区域禁用clang格式,请使用// clang-format off/on注释。

// clang-format off
#include <b.h>
#include <a.h>
#include <c.h>
// clang-format on
#include <d.h>
#include <e.h>

SortIncludes: Never.clang-format

https://clang.llvm.org/docs/ClangFormatStyleOptions.html

SortIncludes[可能值]:从不、区分大小写、不区分大小写

对于clang-format的最新版本,您似乎需要两者:

IncludeBlocks: Preserve
SortIncludes: Never

最新更新