Clang格式。如何在交换机中获取单行对齐的case语句

时间:2017-06-14 09:02:22

标签: c++ clang-format

我想要格式化为:

switch (x)
{
case long_name: return 1;
case sn:        return 2;
}

AllowShortCaseLabelsOnASingleLine选项将它们放在同一行上,
但是我还没有办法让声明对齐

1 个答案:

答案 0 :(得分:7)

截至目前,您无法使用ClangFormat来完成您要的操作。

关于这是为什么的官方解释:

  

每个其他样式选项都会给clang格式项目增加成本。   其中一些成本会影响clang格式开发本身,因为我们   需要确保任何给定的选项组合都能正常工作,并且   新功能不会以任何方式破坏任何现有选项。那里   由于选项变得越来越难发现,最终用户也要付出成本,   人们必须思考并决定他们不选择的选项   真的很在意。

     

clang格式项目的目标更多是在支持方面   一组有限的样式真的很好,而不是支持每种样式   代码库在野外某处使用的单一样式。 [...]

您可能能够执行类似操作的唯一方法是:

  1. 向开发人员建议样式选项;
  2. 等待直到添加所需的样式选项;
  3. 使用ClangFormat的替代方法,该方法能够对齐语句。

来源:

  1. https://clang.llvm.org/docs/ClangFormatStyleOptions.html#configurable-format-style-options
  2. https://clang.llvm.org/docs/ClangFormatStyleOptions.html#adding-additional-style-options