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

sp2*_*nny 11 c++ clang-format

我希望clang格式如下:

switch (x)
{
case long_name: return 1;
case sn:        return 2;
}
Run Code Online (Sandbox Code Playgroud)

AllowShortCaseLabelsOnASingleLine选项将它们放在同一行,
但我还没有找到一种方法来使语句对齐.

Nem*_*yer 7

截至目前,您无法使用ClangFormat执行您要的操作。

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

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

lang格式项目的目标更多是真正支持有限的样式集,而不是支持野外某个代码库使用的每种样式。[...]

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

  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