我在我的 C/C++ 代码中使用长块 C 风格的 Doxygen 注释。这是 https://www.doxygen.nl/manual/docblocks.html 上列出的样式 #4,看起来像这样(最多 80 个字符)...
/**************************************************************************//**
* \file
* \date 2017-01-02
* \author Alex Hogen
******************************************************************************/
如果我对此运行 clang-format ,它会在两个正斜杠之间插入一个空格,所以它看起来像这样愚蠢......
/**************************************************************************/ /**
* \file
* \date 2017-01-02
* \author Alex Hogen
******************************************************************************/
SpacesBeforeTrailingComments
设置为 2,所以这不会是问题。CommentPragmas
正则表达式\/\*+\/\/\*+
。CommentPragmas
正则表达式/\*(.+\n.+)+\*/
ReflowComments
设置为 false
...但这些方法都不起作用。
我知道这个块中有两个注释,但我在同一行找不到任何 clang 格式参数寻址块注释。如何阻止 clang-format 插入此空格?
我不想通过为每个 Doxygen 注释块禁用 clang-format 来解决这个问题。这看起来很荒谬。
有什么好的建议吗?
在您的
.clang-format
文件中:
CommentPragmas: '^\\.+'
这将使其不格式化以反斜杠开头后跟单词的注释行。即使 doxygen 注释之前有一个星号,这也是有效的,因为 clang-format 会自动忽略每个注释行开头的星号和空格。