强制 clang-format 尊重 doxygen 块注释

问题描述 投票:0回答:1

我在我的 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 来解决这个问题。这看起来很荒谬。

有什么好的建议吗?

doxygen clang-format
1个回答
9
投票

在您的

.clang-format
文件中:

CommentPragmas:  '^\\.+'

这将使其不格式化以反斜杠开头后跟单词的注释行。即使 doxygen 注释之前有一个星号,这也是有效的,因为 clang-format 会自动忽略每个注释行开头的星号和空格。

© www.soinside.com 2019 - 2024. All rights reserved.