在doxygen文档中如何为带围栏的代码块添加注释

7

我正在使用Doxygen中的markdown语法来使用围栏代码块。这使得添加一个简单的代码示例变得非常容易,就像这样:

~~~~~{.cpp}
void doSomething()
   {
   }
~~~~~

当我尝试在有栅栏的代码块中使用两个正斜杠添加注释时,Doxygen似乎会删除这些正斜杠。所以当我写下这段代码时:

~~~~~{.cpp}
void doSomething()
   {
   // This function should do something
   }
~~~~~

我收到了如下输出:
void doSomething()
   {
This function should do something
   }

我该如何告诉Doxygen保留代码块中的注释?

编辑:

完整文件如下(我们使用 .dox 这个 Doxygen 的标准扩展名进行文档化):

/*!
\page PATTERN_SAMPLE Sample

~~~~~{.cpp}
void doSomething()
   {
   // This function should do something
   }
~~~~~
*/

结果如下所示: 结果

你能展示一下上述标记是如何嵌入到注释块或 .md 文件中的吗? - doxygen
我已经在问题中添加了完整的文件内容。 - Patrick
2个回答

18

尝试使用 \code

  \code{.cpp}
  class Cpp {};
  \endcode

确实有效。我知道\code存在,但我不知道你可以在它后面添加{.cpp}。然而,{.cpp}似乎没有什么区别。我用一个小的for循环进行了测试,它只会给“for”关键字上色。所有其他单词(vector、int、push_back、main)仍然是黑色的。幸运的是,注释可以正确地使用它(并且它们也被着色)。 - Patrick

5

我遇到了同样的问题。不需要改变代码格式。您可以将 STRIP_CODE_COMMENTS 指定为 NO:这个设置会输出带有注释的源代码。

# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
# special comment blocks from generated source code fragments. Normal, C++ and
# Fortran comments will always remain visible.
# The default value is: YES.

STRIP_CODE_COMMENTS    = NO

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接