Doxygen注释/属性被忽略

时间:2014-11-12 17:49:06

标签: java c# annotations doxygen

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

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

java和c#中都会忽略注释。 例如:

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

“doxygen”中未解析/显示“Required”注释。

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

2 个答案:

答案 0 :(得分: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>`

所以我得到了非常好的结果。标签<param>是为了避免Doxygen将此注释描述放入主要描述中。相反,它会把它放在评论部分。

答案 1 :(得分:0)

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

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

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

顺便说一句,请记录下你的代码!