【问题标题】:Doxygen annotation/attribute are ignoredDoxygen 注释/属性被忽略
【发布时间】:2015-01-09 16:16:01
【问题描述】:

我使用 doxygen 生成 xml,然后我将其转换为自定义文档。

doxygen 是否有可能包含字段/类/函数的注解。

注解在 java 和 c# 中都被忽略。 例如:

class User
{ 
    [Required]
    string UserName {get;set;}              
}

“必需”注释未在 doxygen 中解析/显示。

我想在 doxygen 的 xml / html 输出中包含属性/字段/类的所有带注释的 Annotations(在 ex.“[Required]”中)。

【问题讨论】:

    标签: java c# annotations doxygen


    【解决方案1】:

    EXTRACT_ALL=YES 在这种情况下是没用的。看看这个答案,我认为这是个好主意: Doxygen and add a value of an attribute to the output documentation

    所以你必须创建过滤器(例如在 phyton 中),Doxygen 将使用它来将注释转换为注释。不要忘记将您的过滤器告知 Doxygen:INPUT_FILTER = doxygenFilter.py 我有同样的问题,所以我以这种方式修改了该示例:

    #!/usr/bin/env python
    import sys
    import re
    
    if (len(sys.argv) < 2):
        print "No input file"
    else:
        f = open(sys.argv[1])
        line = f.readline()
        while line:
            re1 = re.compile("\s*\[(.*)]\s*")
            re1.search(line)
            sys.stdout.write(re1.sub(r"/// <para>Annotation: [\1]</para>\n", line))
            #sys.stdout.write(line)
            line = f.readline()
        f.close()
    

    这样的代码

    [AnyAnnotation()]
    

    将转换为:

    /// <param> Annotation [AnyAnnotation()] </param>`
    

    所以我得到了非常好的结果。标签&lt;param&gt;是为了避免Doxygen把这个注解描述放到主描述中。相反,它会将其放在备注部分。

    【讨论】:

      【解决方案2】:

      我不确定你在问什么,但我会说一些可能对你有帮助的事情。

      必须将 Doxygen 配置为为没有 Doxygen cmets 的代码元素生成文档。换句话说,您可以告诉 Doxygen 为所有函数、变量、宏等生成文档,即使它们没有在代码中记录。在你的配置文件中设置EXTRACT_ALL=YES

      如果您运行DoxyWizard,您将更好地了解所有可用选项以及每个选项的效果。 DoxyWizard 是 Doxygen 的 GUI 前端。

      顺便说一句,为您的代码编写文档而喝彩!

      【讨论】:

      • 谢谢。为您的评论。我已经使用 DoxyWizard 来试验 doxygen :) (但是很好的提示,当我开始使用 doxygen 时,有一段时间没有使用它。我编辑了我的问题。问题是,doxygen 确实忽略了注释(在我的exapel [必需])。我厌倦了 EXTRACT_ALL = YES
      猜你喜欢
      • 1970-01-01
      • 2012-09-01
      • 2011-09-22
      • 2012-05-19
      • 1970-01-01
      • 2019-12-09
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多