是否可以为 clang-format 创建自定义规则?

Is it possible to create custom rules for clang-format?

有一些使用独特编码风格的外部库。 Qt 的 signal/slot-connect 语法就是一个例子。

connect(sender.data(), &Sender::valueChanged,
        receiver,      &Receiver::updateValue);

clang-format 使用稍微修改过的 llvm 格式将此语句重新排序为

connect(sender.dataa(), &Sender::valueChanged, receiver, &Receiver::updateValue);

connect(sender.dataa(),
        &Sender::valueChanged,
        receiver,
        &Receiver::updateValue);

如果超过 80 个字符的限制。

是否可以为像这样的特殊命令创建自定义规则,以便像第一个示例那样格式化?

我不知道有什么方法可以创建自定义规则,但解决方法可能是告诉 clang-format 使用 // clang-format off// clang-format on 跳过相关部分。 (参见