2014-11-12 2 views
0

doxygen을 사용하여 xml을 생성 한 다음 사용자 정의 문서로 변환합니다.Doxygen 주석/속성이 무시됩니다.

doxygen에 필드/클래스/함수의 주석이 포함될 가능성이 있습니까?

주석은 java와 C#에서 모두 무시됩니다. 예는 :

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

은 "필수"주석

는 doxygen이 표시/해석되지 않습니다.

doxygen의 xml/html 출력에서 ​​원하는 것은 property/field/class의 모든 주석이 달린 Annotation입니다 (예 : "[Required]").

답변

0

나는 당신이 무엇을 요구하고 있는지 확실하지 않지만 당신을 도울 수있는 몇 가지 사항을 말할 것입니다.

Doxygen 주석이없는 코드 요소에 대한 문서를 생성하도록 Doxygen을 구성해야합니다. 즉, Doxygen이 코드에 문서화되어 있지 않더라도 모든 함수, 변수, 매크로 등에 대한 문서를 생성하도록 지시 할 수 있습니다. 구성 파일에 EXTRACT_ALL=YES을 설정하십시오.

DoxyWizard을 실행하면 사용 가능한 모든 옵션과 각 옵션의 효과에 대해 더 잘 알 수 있습니다. DoxyWizard은 Doxygen의 GUI 프론트 엔드입니다.

그리고 그런데, 당신의 코드를 문서화하기위한 bravo!

+0

Thx. 귀하의 의견을 기다리고 있습니다. 나는 doxygen을 실험하기 위해 이미 DoxyWizard를 사용하고있다. (그러나 위대한 팁은 잠시 동안 doxygen으로 작업을 시작했을 때 사용하지 않았다.) 내 질문을 편집했다. 문제는 doxygen이 주석을 무시한다는 것이다. 내 exapel [필수]). 나는 피곤 EXTRACT_ALL = 예 – suizo

1

EXTRACT_ALL=YES이 경우에는 쓸모가 없습니다. 이 대답을보십시오, 나는 좋은 생각이라고 생각합니다 : Doxygen and add a value of an attribute to the output documentation Doxygen이 주석을 주석으로 변환하는 데 사용할 필터 (예 : phyton)를 만들어야합니다. 필터에 대한 Doxygen을 통보하는 것을 잊지 마세요 :

#!/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()] 
가 변환됩니다 : INPUT_FILTER = doxygenFilter.py 를 저도 같은 문제는 그래서이 방법으로 그 예를 수정 한

/// <param> Annotation [AnyAnnotation()] </param>` 

그래서 나는 아주 좋은 결과를 얻었다. 태그 <param>은 Doxygen이 주요 설명에이 주석 설명을 넣지 않도록하는 것입니다. 대신 비고란에 넣을 것입니다.