如何使用 clang 格式在交换机中获取单行对齐的大小写语句



我希望clang-format的格式如下:

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

AllowShortCaseLabelsOnASingleLine选项使它们在同一行上,
但我还没有找到使语句对齐的方法。

截至目前,使用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

添加到 .clang 格式的文件。

AllowShortCaseLabelsOnASingleLine: true

最新更新