我使用doxygen生成xml,然后我转换为自定义文档。
doxygen是否有可能包含字段/类/函数的注释。
java和c#中都会忽略注释。 例如:
class User
{
[Required]
string UserName {get;set;}
}
“doxygen”中未解析/显示“Required”注释。
在doxygen的xml / html输出中我想要的是属性/字段/类的所有带注释的注释(在ex。“[Required]”中)。
答案 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前端。
顺便说一句,请记录下你的代码!