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

问题描述 投票:0回答:2

我一直在尝试为构造函数添加缩进,如下所示:

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)
 {
 }
c++ code-formatting uncrustify
2个回答
1
投票

我设法找到了解决方案。我不确定哪些选项是错误的。我找到了另一个配置文件,然后更改了

indent_continue
选项和
nl_func_decl_start
(可能还有另一个我忘记了),现在它看起来像我想要的。


0
投票

为了去壳

0.71.0
我可以用这个

indent_continue                 = 4
nl_constr_colon                 = force
© www.soinside.com 2019 - 2024. All rights reserved.