修复lambda表达式的非格式化

时间:2014-08-13 08:24:59

标签: lambda uncrustify

我想将 Qt Creator uncrustify格式化为lambda表达式。

使用 Qt Creator 编写以下代码会产生以下格式:

connect(this, &MyObject::mySignal, [&] {
    qDebug() << "test lambda uncrustify formatting";
});

但是当用 uncrustify 格式化代码时,我得到以下结果:

connect(this, &MyObject::mySignal, [&] {
            qDebug() << "test lambda uncrustify formatting";
        });

是否有一个 uncrustify 选项可以像我的 Qt Creator 一样对齐代码?

2 个答案:

答案 0 :(得分:0)

也许您正在寻找indent_align_paren=false?至少,使用它似乎可以达到预期的结果。

如果这会破坏非lambdas ...那么Qt Creator给您带来了哪些?

// (A)
connect(this, &MyObject::mySignal,
    functor);

// (B)
connect(this, &MyObject::mySignal,
        functor);

如果它给您(B),那么indent_align_paren=false不会做您想要的事情,并且Qt Creator的格式是...可疑的。 (在这种情况下,我想您应该针对uncrustify提交功能请求,或者针对Qt Creator提交错误报告。)如果给您(A),那么您想要indent_align_paren=false的代价不只是lambda。

答案 1 :(得分:0)

我终于设法用最新版本的uncrustify对其进行了修复。