Uncrustify + Lambda

Uncrustify + Lambda

本文关键字:Lambda Uncrustify      更新时间:2023-10-16

我无法解脱脱壳以格式化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. 在 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 行的配置,也许您可以尝试使用这对设置。

如果更改这些设置中的任何一个对您来说并不合理,则可能需要进行一些认真的代码样式改革。首先,我看到示例 lambda 适合作为一行语句。也许将它们放在一行中。(它们将保持这种状态,因为配置文件中的第 964 行可确保这一点)。