如何禁用长 for 语句的中断缩进?
how to disable break indent of a long for-statement?
for(my_struct_t *s = users; s != NULL; s = (my_struct_t *)(s->hh.next)) {
printf("%d\t%s\n", s->id, s->name);
}
以上代码通过以下命令缩进如下样式。我想保留原来的风格,以便 for 语句始终在同一行。在 clang-format
中有没有办法做到这一点?
$ clang-format -style='{IndentWidth: 8, UseTab: Always, SpaceBeforeParens: Never, IndentCaseLabels: true }'
for(my_struct_t *s = users; s != NULL;
s = (my_struct_t *)(s->hh.next)) {
printf("%d\t%s\n", s->id, s->name);
}
如果 for
语句保留在一行中,那么(根据您的输入和样式选项)该行会延伸到第 81 列。默认情况下 ColumnLimit
是 80。所以您可以执行以下操作之一:
- 将
ColumnLimit
设置为 81 或更大
- 将
ColumnLimit
设置为0(表示由于列数限制,不应断行)
- 用
// clang-format on
和 // clang-format off
包围 for
语句以禁用格式
- 让
clang-format
将 for
语句分成多行。
有关 ColumnLimit
的更多详细信息,请参阅 documentation。
for(my_struct_t *s = users; s != NULL; s = (my_struct_t *)(s->hh.next)) {
printf("%d\t%s\n", s->id, s->name);
}
以上代码通过以下命令缩进如下样式。我想保留原来的风格,以便 for 语句始终在同一行。在 clang-format
中有没有办法做到这一点?
$ clang-format -style='{IndentWidth: 8, UseTab: Always, SpaceBeforeParens: Never, IndentCaseLabels: true }'
for(my_struct_t *s = users; s != NULL;
s = (my_struct_t *)(s->hh.next)) {
printf("%d\t%s\n", s->id, s->name);
}
如果 for
语句保留在一行中,那么(根据您的输入和样式选项)该行会延伸到第 81 列。默认情况下 ColumnLimit
是 80。所以您可以执行以下操作之一:
- 将
ColumnLimit
设置为 81 或更大 - 将
ColumnLimit
设置为0(表示由于列数限制,不应断行) - 用
// clang-format on
和// clang-format off
包围for
语句以禁用格式 - 让
clang-format
将for
语句分成多行。
有关 ColumnLimit
的更多详细信息,请参阅 documentation。