2013-12-19 63 views
3

我正在嘗試爲使用doxygen的C#應用​​程序生成文檔。現在,我正在嘗試創建一個主頁,其中包含指向應用程序中心類的鏈接。doxygen中的主頁上自動生成的類參考鏈接

我創建使用降價的頁面,它看起來是這樣的:

\mainpage 
Project name 
================== 
bla 
Important classes 
------------------ 
* Class1 
* Class2 
* Class3 

出於某種原因,doxygen的並不自動生成這個網頁上鍊接到相應的類。爲了讓事情變得很奇怪,doxygen在代碼文檔中識別這些類名並生成相應的鏈接沒有任何問題,所以,據我所知,這是一個主要的問題。

有沒有辦法做到這一點,而不使用硬編碼鏈接到生成的類頁面?

回答

7

我一直在試驗,因爲我有類似的需求 - 我也有一個用Markdown寫的主頁。這與斯蒂芬的答案基本相同,但有更多信息。我正在使用doxygen 1.8.5。

隨着AUTOLINK_SUPPPORT設置爲NO中的Doxyfile:

看來你需要的完全合格包名

com.bigcorp.stuff.product.namespace.ClassName

而且你還需要參考命令使鏈接:

\ref com.bigcorp.stuff.product.namespace.ClassName

至少意味着你可以有資格輸出文本

\ref com.bigcorp.stuff.product.namespace.ClassName "ClassName"

意味着輸出文本沒有命名空間雜亂。

隨着AUTOLINK_SUPPPORT設置爲YES(或空):

你不需要\refcom.bigcorp.stuff.product.namespace.ClassName將提供一個鏈接到類只是本身,而是確實有雜亂因此使用無論如何,\ref可能會更清潔。

只使用ClassName仍然不提供鏈接。似乎你需要包序言。

奇怪的是,將鼠標懸停在自動創建的鏈接上會生成目標類的彈出式說明。但是,明確的\ref鏈接不。

+0

很好的解釋。奇怪的是,HIDE_SCOPE_NAMES在這種情況下不起作用,但它沒有 - 我試過了。 – Mikkel

3

我終於明白了!用類似於Namespace1.Class1這樣的命名空間名稱來加上類名前綴是個竅門!

這仍然很奇怪,因爲doxygen在其他地方處理短名稱沒有問題,但是,嘿,它的工作原理!

0

我發現你可以避免在每個類中添加一個單調乏味的\ ref並保留類的工具提示。

您可以簡單地將您的評論置於命名空間內。

namespace com.bigcorp.stuff.product.namespace 
{ 
/// \page page_name Page Name 
/// This is a working class auto ref -> ClassName. 
} 

這不會對多個命名空間,雖然類工作...