我希望clang-format的格式如下:
switch (x)
{
case long_name: return 1;
case sn: return 2;
}
AllowShortCaseLabelsOnASingleLine
选项使它们在同一行上,
但我还没有找到使语句对齐的方法。
截至目前,使用ClangFormat无法完成您的要求。
官方对原因的解释是:
每个额外的样式选项都会增加 clang 格式项目的成本。 其中一些成本会影响 clang 格式开发本身,因为我们 需要确保任何给定的选项组合都有效,并且 新功能不会以任何方式破坏任何现有选项。那里 也是最终用户的成本,因为选项变得不那么容易发现,并且 人们必须考虑并决定他们没有的选择 真的很在乎。
clang格式项目的目标更多的是在支持方面 一组有限的样式真的很好,而不是支持每个 在野外某处的代码库使用的单一样式。[...]
您能够执行此类操作的唯一方法是:
- 向开发人员建议样式选项;
- 等到添加所需的样式选项;
- 使用能够对齐语句的 ClangFormat 的替代方法。
来源:
- https://clang.llvm.org/docs/ClangFormatStyleOptions.html#configurable-format-style-options
- https://clang.llvm.org/docs/ClangFormatStyleOptions.html#adding-additional-style-options
添加到 .clang 格式的文件。
AllowShortCaseLabelsOnASingleLine: true