2014-07-26 21 views
3

我們使用doxygen在我們剛剛開始的項目中記錄我們的C/C++代碼,如果可能,我們希望實現以下目標。 當創建一個自定義的別名,多參數,我們會在我們的代碼,文檔使用的語法看起來像:DOXYGEN:創建不帶花括號語法的多參數別名,如@param&others(tag!)?

/** 
* @myalias{param1,param2} 
*/ 

,並在我們的.doxy文件,這個別名的定義會是什麼樣子:

ALIASES += myalias{2}="do something with \1 and with \2" 

我們想什麼,而不是將定義一個自定義標籤,其行爲類似@參數,這將允許我們記錄我們的源文件時,請使用以下語法:

/** 
* @myalias param1   param2 
*/ 

,並且仍然能夠以某種方式參考param1 & param2。

例如,我知道@param標籤可以將param1 & param2區分爲2個不同的實體,並且它不需要任何大括號。

是否可以定義一個自定義標籤,我們可以在其中訪問param1作爲獨立實體在我們的.doxy文件中,但通過使用code-doc語法而不使用大括號?

謝謝你提前

+1

好問題。看起來很奇怪,別名命令需要大括號,而不別名的命令則不需要。 –

回答

1

簡短的回答是沒有。在仔細閱讀doxygen文件後,似乎對於爲什麼有一個合理的解釋。內置的doxygen命令列表可能會更改,並且您不希望在重新定義所有別名時進行更改。在發生衝突時,您如何選擇命令與別名? doxygen不是要執行一個決定,而是強迫你指出哪個是哪個。

文檔中隱含的示例位於aliases with arguments的部分。在這裏,l{1}別名是詳細定義和實驗的。但是,如果你去the bottom of the list of commands,它清楚地表明有一個命令\l,永遠不應該明確使用。大括號別名定義使得它完全明確地使用哪一個。

我不確定這實際上是一種故意的設計理念,還是隻是以這種方式愉快地聚在一起,但這種區分是有用的。

我很抱歉寫這個答案,因爲我是我自己希望你試圖達到的結果。儘管知道原因有幫助。