2012-02-15 4 views
6

ServiceStack c#属性を使用してWebサービスのパスを指定します。私はDoxygenのをしたいと思い例Doxygenを使用し、出力文書に属性の値を追加します。

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

については

は、Helloクラスのためのdoxygenの出力でRestService属性の値を含みます。大括弧で囲まれた行が出力文書に含まれていると、私はあまり気にしません。

提案がありますか?

迅速かつ汚いトリックDoxygenの拡張子を書き込むことが好ましいであろう。)

乾杯

Tymek

==== EDIT

ザ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() 
のdoxygenのです。

とDoxyfileというのだろう。

INPUT_FILTER   = "doxygenFilter.py" 

答えて

8

あなたは次の作品を置くことによって、例えばのような

[RestService("/hello1")] 

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

の行を変換入力フィルタを作ることができますperl magicをファイルfilter.pl

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

とDoxyfileというにおけるINPUT_FILTERタグであることを使用します。

INPUT_FILTER   = "perl filter.pl" 
関連する問題