使用astyle在一行中格式化C ++中的嵌套命名空间

时间:2017-07-24 03:44:59

标签: c++ astyle

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

<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

我正在尝试使用astyle强制执行此样式,但在http://astyle.sourceforge.net/astyle.html

的文档中找不到任何内容

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

P.S。希望astyle团队能够听到并通过选项进行正确的更改。