每个文件(理想情况下是每个部分)的 clang 格式样式覆盖

Per-file (ideally per-section) clang-format style override

本文关键字:clang 格式 覆盖 样式 个部 文件 理想 情况下      更新时间:2023-10-16

我想用以下内容标记文件的一部分:

// clang-format -style="{ SomeSetting: NewValue }"
...
// clang-format -style="{ SomeSetting: OldValue }"

这将覆盖根.clang-format文件中的全局设置。如果不可能,也可以对单个文件进行特定格式化,因为我可以通过隔离需要特定格式的部分在其自己的文件中来解决。我有一个 git 预提交钩子,它可以对暂存文件以及自行运行clang-format的 IDE 插件进行格式化,但我不想在这两个地方标记特定文件和特定设置。

我现在能做的最好的事情就是使用自定义设置格式化文件,放// clang-format off// clang-format on该部分周围的保护并将设置恢复回来,从长远来看这是不可持续的。有没有更好的解决方案?

你想要的目前(clang 13(是不可能的,但肯定是一个添加到clang格式的好功能。

当前关于 Clang-格式样式选项的文档没有说明在代码中输入样式选项。正如你所说,我们能得到的最接近的是使用// clang-format off// clang-format on提示。