Doxygen 并将属性值添加到输出文档

2023-11-25

服务栈使用 C# 属性标记 Web 服务的剩余路径。

例如

[RestService("/hello1")]
[RestService("/hello2")]
public class Hello

我想让 Doxygen 在 Hello 类的 doxygen 输出中包含 RestService 属性的值。如果输出文档中包含带括号的整行,我不太关心漂亮的格式。

有什么建议么?

一个快速而肮脏的技巧比编写 Doxygen 扩展更好;)

Cheers

Tymek

====EDIT

doxygen 用户的答案的 Python 版本(因此可以轻松地在 Windows 上工作)将是:

#!/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("\[RestService\(\"(.*)\",.*\"(.*)\"\)]")
        re1.search(line)
        sys.stdout.write(re1.sub(r"/** \\b RestService: \2 \1\\n */\n", line))
        #sys.stdout.write(line)
        line = f.readline()
    f.close()

DOXYFILE 将具有:

INPUT_FILTER           = "doxygenFilter.py"

您可以制作一个输入过滤器,将一行转换为

[RestService("/hello1")]

to

/** \b RestService: "/hello1"\n */

例如,将以下 Perl 魔法放入名为的文件中filter.pl:

open(F, "<", $ARGV[0]);
while(<F>) { /^\s*\[RestService\((.*)\)\]\s*$/ ? 
             print "/** \\b RestService: $1\\n */\n" : print $_; }

并将其与INPUT_FILTERDoxyfile 中的标签:

INPUT_FILTER           = "perl filter.pl"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Doxygen 并将属性值添加到输出文档 的相关文章