astyle可以处理数组初始化括号不同吗?

时间:2016-09-15 11:36:04

标签: c++ astyle

我有以下代码段,这与我想要的完全相同:

#include <iostream>

int main(int argc, char* argv[])
{
    for (auto i: { 1, 2, 3 })
    {
        std::cout << i << std::endl;
    }
}

不幸的是,astyle将其转化为:

#include <iostream>

int main(int argc, char* argv[])
{
    for (auto i :
            {
                1, 2, 3
            })
    {
        std::cout << i << std::endl;
    }
}

有什么方法可以让astyle对待初始化列表括号不同(即忽略它们)?

这些是我目前的选择:

--mode=c --style=allman --indent=spaces=4 -max-code-length=100 --attach-namespaces --pad-oper --pad-header

1 个答案:

答案 0 :(得分:1)

只需添加选项--keep-one-line-blocks 所以,所有选项都是

- mode = c --style = allman --indent = spaces = 4 --max-code-length = 100 --attach-namespaces --pad-oper -pad-header --keep-1行的块

#include <iostream>

int main( int argc, char* argv[] )
{
    for ( auto i : { 1, 2, 3 } )
    {
        std::cout << i << std::endl;
    }

    bool br = false;
    if ( true )
    {   br = true; cout << "Just test" << endl; }
}

但是,你应该小心。 添加--keep-one-line-blocks选项后,astyle会保留所有一行,例如最后一行。