如何只应用一个clang-format操作?
How can I apply only one clang-format action?
我想使用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格式根本不是为此设计的。规则不是它逐渐应用的东西,相反,程序是围绕解析整个程序并忘记(大部分)旧的空白,并根据您选择的规则生成新的空白而构建的。
您可以在这里看到一些架构的概述:http://www.llvm.org/devmtg/2013-04/jasper-slides.pdf
首先它运行clang词法分析器和解析器,然后它将标记组划分为"未包装行",这些行是"如果没有列限制,我们希望将标记放在一行上"。然后,layouter根据各种约束和针对各种惩罚进行优化,确定每个未换行行的格式。
所以,我不认为"一个clang-format action"实际上是一个东西,在我看来,这个设计相当单一。
clang-format
没有这样做的机制。我使用的缓和方法是以两种不同的方式配置我想要更改的内容,我用两种配置运行该工具并对它们进行区分,它会告诉我哪些更改会影响我想要的内容,但通常这至少需要一些手工工作。
clang-format
是一个好主意与一个糟糕的实现。它的一些不足之处是无法让它显示更改的原因,XML输出格式不能被任何其他流行的工具使用…
- Clang-Format 不能正确分配函数参数
- 什么 clang-format 相当于 rustfmt 的 indent_style=Block?
- clang-format:IncludeIsMainRegex不起作用
- Clang-Format:重新组合字符串文字
- 有没有办法强制对 clang-format/clang-tidy 中的类成员/方法使用 "this->"?
- 告诉Clang-Format忽略布拉格马斯
- clang format函数和错误检查在同一行
- clang-format用于提升程序选项
- 如何指定一个clang-format文件
- 如何在使用clang-format访问修饰符后缩进
- Placement of const with clang-format
- 如何设置Clang-Format样式选项,以在捕获前保持不合格
- 如何向Visual Studio Clang-Format插件提供clang格式文件
- 如何防止clang-format在注释字符后添加空格
- 在clang-format中控制语句之后中断
- 是否有办法配置clang-format使嵌套的命名空间声明保持在同一行
- 使用clang-format缩进预处理器指令
- 如何控制链接方法调用的clang-format缩进
- 如何使clang-format不将多行调用加入到一行中
- 如何只应用一个clang-format操作?