Uncrustify + Lambda

时间:2016-07-12 03:29:39

标签: c++ lambda uncrustify

我无法解开格式化C ++ lambdas

这就是我将lambda变成:

auto print = [](auto const &i, qi::unused_type, qi::unused_type)
             {
                 qDebug() << i;
             };

这就是我想要的:

auto print = [](auto const &i, qi::unused_type, qi::unused_type)
{
    qDebug() << i;
};

现在任何人都有什么设置负责大括号的定位?

1 个答案:

答案 0 :(得分:2)

查看您的配置文件,似乎有一些恶意设置:

  1. 第223行

    # Align continued statements at the '='. Default=True
    # If FALSE or the '=' is followed by a newline, the next line is indent one tab.
    indent_align_assign                       = true     # false/true
    

    如您所见,您正在为符号分配lambda。其他换行符配置为与作业的=符号对齐。

  2. 第830和833行

    # The span for aligning on '=' in assignments (0=don't align)
    align_assign_span                         = 1        # number
    
    # The threshold for aligning on '=' in assignments (0=no limit)
    align_assign_thresh                       = 0        # number
    

    如果您不想更改第223行的配置,也许您可​​以尝试使用这对设置。

  3. 如果更改任何这些设置对您来说并不合理,您可能需要进行一些严格的代码风格改革。首先,我看到示例lambda适合作为一行语句。也许让他们保持单行。 (它们将保持这种方式,因为配置文件中的第964行确保了这一点。)