在我公司的编码约定中,我们将嵌套命名空间格式化为一行。例如:
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 {
...
}
}
最佳答案
尝试修改 astyle
源代码。找到方法 ASFormater::isOkToBreakBlock
并在开头插入:
if (isBraceType(braceType, NAMESPACE_TYPE))
return false;
确保它不会破坏整个格式。
附言希望
astyle
团队会听到并使用选项进行正确的更改。关于c++ - 使用 astyle 在一行中格式化 C++ 中的嵌套命名空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45272305/