Uncrustify:如何设置初始化列表和函数参数的缩进

时间:2017-05-02 08:38:18

标签: c++ code-formatting uncrustify

我一直试图为构造函数缩进,如下所示:

ClassName::ClassName(const std::string &id,
                     std::shared_ptr<AbstractInterface> object,
                     bool isDynamic) :
    m_id(id),
    m_object(object),
    m_isDynamic(isDynamic),
    m_state(ClassState::CREATED)
{
}

我想让参数缩进,以便它们与参数列表的第一个括号对齐,但初始化列表应缩进4个空格(这是我的常规缩进大小)。

我从包含此代码示例的代码示例文件生成了我的uncrustify配置。我已经看到我可以使用indent_ctor_init,但是在生成的配置中将其设置为0.

这是我应该用于初始化列表的配置选项吗?

我也无法找到为参数设置缩进的位置,因此我不会在第一个参数之前获得换行符。

这就是我现在所得到的:

ClassName::ClassName(
    const std::string &id,
    std::shared_ptr<AbstractInterface> object,
    bool isDynamic) :
    m_id(id),
    m_object(object),
    m_isDynamic(isDynamic),
    m_state(ClassState::CREATED)
 {
 }

2 个答案:

答案 0 :(得分:0)

我设法找到了解决方案。不确定哪些选项不正确。我找到了另一个配置文件,然后更改了root@897b187f9042:/frontend# ping database PING database (172.19.0.2): 56 data bytes 64 bytes from 172.19.0.2: icmp_seq=0 ttl=64 time=0.086 ms 64 bytes from 172.19.0.2: icmp_seq=1 ttl=64 time=0.088 ms 选项和indent_continue(以及可能已经忘记的另一个),现在它看起来像我想要的那样。

答案 1 :(得分:0)

对于0.71.0,请让我配合使用

indent_continue                 = 4
nl_constr_colon                 = force