2014-12-19 2 views
1

C# 라이브러리를 작성 중이므로 일부 파일의 페이지 (mainpage.md)에 연결하고 싶습니다. 그러나 Doxygen이 메인 페이지의 텍스트에서 링크를 만들 수있는 유일한 방법은 클래스의 정규화 된 이름 (예 : com.mycompany.myproject.MyClass)을 메인 페이지에 쓰는 것인데, 읽기가 어렵고 실제 반복적으로 쓰는 고통. 나는 단지 MyClass을 메인 페이지에 쓰고 싶습니다. com.mycompany.myproject.MyClass에 링크되어 있습니다.Doxygen 메인 페이지에서 네임 스페이스 잘림

내 프로젝트에는 네임 스페이스가 하나만 있습니다. 메인 페이지가이 네임 스페이스 내에 모든 이름이 암시 적이라고 가정 할 수있는 방법이 있습니까? 최악의 경우 생성하는 동안 클래스 이름에서 네임 스페이스를 잘라내는 좋은 방법이 있습니까? 지금 당장 가장 좋은 해결책은 sed으로 Doxygen을 실행 한 후 index.html을 직접 편집하여 HTML 파일을 실행하는 것입니다.

답변

1

가 드디어 doxygen: how to create hyperlinks to class definitions from Mainpage.dox?에서 코멘트에서 내 대답을 발견했다. 이 네임 스페이스 내에서 mainpage하게

namespace com.mycompany.myproject { 

/** 
* {mainpage text here} 
*/ 
} 

,과에 Doxygen을 지시 :

기본적으로, 대답은 매우처럼 namespace 선언으로 내 mainpage을 mainpage.dox 파일로 내 mainpage.md 파일을 변경하고 포위하는 것이 었습니다 메인 페이지 본문에 언급 된 모든 클래스 이름에 대해 올바른 네임 스페이스를 살펴보십시오.

1

HIDE_SCOPE_NAMES를 사용해보십시오 :

HIDE_SCOPE_NAMES = YES 

http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_hide_scope_names

을 HIDE_SCOPE_NAMES 태그가 에 자신의 모든 클래스와 네임 스페이스 범위와 멤버를 표시합니다 다음 NO (기본값) Doxygen을 로 설정되어있는 경우 선적 서류 비치. YES로 설정하면 범위가 숨겨집니다.

그래서이 허용해야 사용 :

com.mycompany.myproject.MyClass 

가되기 위해 :

MyClass 
+0

이것은 숨기고 자하는 범위 안에있는 파일 (즉, 네임 스페이스 com.mycompany.myproject {'가 정의 된 클래스 파일 자체)에서 작동하지만 슬프게도 내' mainpage.md' 파일이 있습니다.이 파일은 공식적으로 특정 네임 스페이스에 없습니다. 질문을 조금 더 명확하게하기 위해 나는 이것을 물어볼 수 있다고 가정합니다. Doxygen이 마크 다운 파일이 특정 네임 스페이스에 있다고 믿을 수있는 방법이 있습니까?이 옵션은 효과가 있습니까? –

+0

음, 아마도 사용자 정의 레이아웃 파일을 만들어서 할 수 있습니다. (1) 파일 생성 : doxygen -l layout.xml (2) 파일을 편집하고 visible = "no",''(3) doxyfile에서'LAYOUT_FILE =./layout.xml' 태그를 사용하십시오. –

+0

저는 실제로 이미 custom layout.xml 파일을 사용하고 있으며, "classes"탭은 실제로'visible = "yes"'로 설정되어 있습니다. 비록 이것이 네임 스페이스 접두사를 숨기는 것과 관련이 있는지 이해할 수 없습니다. –

관련 문제