【问题标题】:Doxygen doesn't display any of the special commentsDoxygen 不显示任何特殊注释
【发布时间】:2014-02-14 11:25:18
【问题描述】:

我决定为我的项目记录代码。我在网上找到了这个工具Doxygen并下载了。

但是当我尝试实际创建一个 HTML 文件时,它只显示项目内容,而没有显示函数上方的特殊 cmets。

我尝试了所有类型的 cmets - /*! ... */ , /** ... */ , ///,//!

它只显示函数的名称及其在.h 文件中的定义,如下所示:

我该如何解决这个问题?我怎样才能让 Doxygen 也显示特殊的 cmets?

【问题讨论】:

  • 通过阅读文档。

标签: c++ doxygen


【解决方案1】:

如果我理解正确,您只是在以通常方式放置在函数内部的代码 cmets 上使用这些特殊标记?检查您的前端是否没有使用

HIDE_IN_BODY_DOCS

如果HIDE_IN_BODY_DOCS 标签设置为YES,doxygen 将隐藏在函数体内找到的任何文档块。如果设置为NO,这些块将被附加到函数的详细文档块中。

默认值为:NO

您可能还想启用

EXTRACT_ALL

如果EXTRACT_ALL 标记设置为YES doxygen 将假定文档中的所有实体都已记录,即使没有可用的文档也是如此。除非将 EXTRACT_PRIVATEEXTRACT_STATIC 标签分别设置为 YES,否则私有类成员和静态文件成员将被隐藏。

注意

这也将禁用当WARNINGS 设置为YES 时通常产生的关于未记录成员的警告。

默认值为:NO

我还没有专门测试过函数体中的 cmets 是否算作“文档可用”,但是如果你没有 doxygen 格式的参数文档,我肯定会打开EXTRACT_ALL

【讨论】:

    【解决方案2】:

    Doxygen 本身是一个非常有效的工具,但您必须学习如何使用它。关键是配置文件。命令:

    doxygen -g
    

    会在当前文件夹中为您生成一个默认文件夹。然后,您需要直接使用任何文本编辑器或通过名称为doxywizard 的 GUI 程序对其进行编辑。默认选项值通常是一个好的开始,但也许您切换了一些东西?

    这种评论风格应该有效:

    /// define foo
    #define foo 42
    
    /// a truely efficient function
    void foobar();
    
    struct A {
        int b; ///< this is something
    };
    

    【讨论】:

      猜你喜欢
      • 2021-10-09
      • 1970-01-01
      • 2023-03-27
      • 2019-02-13
      • 2012-02-28
      • 2023-03-12
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多