3

在我公司的编码约定中,我们将嵌套命名空间格式化为一行。例如:

namespace Foo { namespace Bar {
...
}} // Foo::Bar

我正在尝试使用 astyle 强制执行此样式,但在http://astyle.sourceforge.net/astyle.html的文档中找不到任何内容

当我运行以下 astyle 命令时(忽略不相关的选项)

astyle --style=allman --add-brackets --align-reference=name --align-pointer=name --attach-namespaces --pad-header --pad-oper --unpad-paren -n <filename>

我最终将每个嵌套命名空间放在单独的行上,如下所示:

namespace Foo {
namespace Bar {
...
}
}
4

1 回答 1

2

尝试修改astyle源代码。查找方法ASFormater::isOkToBreakBlock并在开头插入:

if (isBraceType(braceType, NAMESPACE_TYPE))
    return false;

确保它不会破坏整个格式。

PS 希望astyle团队会听到并通过选项做出正确的更改。

于 2017-07-24T17:22:33.960 回答