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