我想使用 clang-format 来对齐我的评论,但没有别的。
选项是:AlignTrailingComments (bool)
。
但是当我运行以下命令时:
clang-format-3.6 -i -style='{AlignTrailingComments: true}' <file>
它执行我认为在未指定时具有默认值的各种其他格式选项。
如何在代码库中只执行一个 clang 格式化规则?
拥有所有这些默认值使得很难看到单个格式化选项对代码的全部影响。我必须解析所有这些其他更改的差异,并确定它是否是我指定的选项实际上做了它。
我注意到有一个 DisableFormat 选项,但无论我如何使用它,它都会阻止任何格式化发生。
clang-format-3.6 -i -style='{AlignTrailingComments: true, DisableFormat: true}'
clang-format-3.6 -i -style='{DisableFormat: true, AlignTrailingComments: true}'
两者都会导致 clang-format 无法在任何地方生成任何代码。
最佳答案
我认为 clang 格式根本不是为此而设计的。规则不是增量应用的东西,而是围绕程序构建,解析整个程序并忘记(大部分)旧的空白,并根据您选择的规则生成新的空白。
您可以在此处查看架构的一些概述:http://www.llvm.org/devmtg/2013-04/jasper-slides.pdf
首先它运行 clang 词法分析器和解析器,然后将标记组划分为“展开的行”,即“如果没有列限制,我们希望将标记放在一行中”。然后布局器根据各种约束和优化各种惩罚来确定每个展开行的格式。
所以,我不认为“一个 clang 格式的 Action ”实际上是一件事,设计在我看来非常单一。
关于c++ - 如何仅应用一种 clang 格式的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30763869/