有没有办法配置clang格式以保持嵌套的命名空间声明在同一行?

时间:2015-10-02 21:14:22

标签: c++ clang-format

在我正在使用的代码库中,我们总是声明嵌套的命名空间:

namespace foo { namespace detail {

// stuff

} }  // foo::detail namespace

我还没有找到一种方法来配置clang-format 而非将其分成多行:

namespace foo {
namespace detail {

// stuff

}
}  // foo::detail namespace

我已经使用了BreakBeforeBraces配置,我在clang 3.8中查看了新的BraceWrapping配置,两者都没有成功。

是否可以在不使用// clang-format [on/off]注释代码的情况下执行此操作?

2 个答案:

答案 0 :(得分:5)

事实证明,这是一个由clang格式团队考虑过的功能,但已被拒绝。有关其他详细信息,请参阅https://llvm.org/bugs/show_bug.cgi?id=17928

答案 1 :(得分:3)

clang-format 6.0具有" CompactNamespaces:true"完全符合您要求的选项。见http://clang.llvm.org/docs/ClangFormatStyleOptions.html