clang 格式:禁用排序包括

Posted

技术标签:

【中文标题】clang 格式:禁用排序包括【英文标题】:clang format: disable ordering includes 【发布时间】:2020-06-05 15:02:13 【问题描述】:

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

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

不幸的是,我们包含的顺序会定期更改,我想这是由于clang-format。我找到了一个page,您可以在其中指定一个变量includeCategories。 但是,我并不完全理解它是如何工作的。 我只是想完全禁用包含的排序。 我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

你试过了吗:SortIncludes: false

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

【讨论】:

就是这样,谢谢。我需要再等 8 分钟才能接受您的回答。【参考方案2】:

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

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

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

【讨论】:

以上是关于clang 格式:禁用排序包括的主要内容,如果未能解决你的问题,请参考以下文章

Clang 和 '-O2' - 禁用特定优化

如何禁用“不支持优化标志”的clang警告

如何通过 .xcconfig 禁用特定的 clang 诊断?

选择性地禁用 clang-tidy 警告

禁用在 clang 前端查找预编译的头文件

为啥 clang 无法展开循环(即 gcc 展开)?