【发布时间】:2016-06-24 22:12:17
【问题描述】:
我的代码中的数据表或参数表在列中对齐,如下所示(人为的简单示例;实际代码有更大的表):
// Name Size Starting val
// ======= ======= ============
S s = {
{ "Dubs", abc, 123 },
{ "X", n, m },
{ "YZ", ij / q, kl }
};
// Name Size Starting val
// ======= ======= ============
w = Create( "Dubs", abc, 123 );
x = Create( "X", n, m );
yz = Create( "YZ", ij / q, kl );
clang-format 杀死表格格式:
// Name Size Starting val
// ======= ======= ============
S s = {
{ "Dubs", abc, 123 },
{ "X", n, m },
{ "YZ", ij / q, kl }
};
// Name Size Starting val
// ======= ======= ============
w = Create( "Dubs", abc, 123 );
x = Create( "X", n, m );
yz = Create( "YZ", ij / q, kl );
我们的团队希望采用 clang-format 并自动运行它,但这个问题阻止了我们这样做。我们可以手动检查所有这些情况并将所有这些情况包装在 // clang-format off/on 标记中,但这是体力劳动。
有没有办法设置 clang-format 来保持这样的表格,甚至自动表格化新代码?
【问题讨论】:
-
这对clang的要求太高了!它应该如何知道是否应该格式化结构数组?使用标签看起来是这里唯一的解决方案。或者不采用 clang 格式。
-
或者,采用 clang-format 并接受必须稍微改变你的编码风格以适应工具。
-
如果很难自动检测到我想要的东西,我也会对
// clang-format table on/off感到满意。 (无论如何,人工智能有什么好处‽)
标签: c++ clang-format