2013-03-13 5 views
34

Ich habe folgende Doxygen Dokumentation für eine Funktion:Was ist der richtige Weg, um einen Parameter in Doxygen zu referenzieren?

/** 
    @brief Does interesting things 

    @param[in] pfirst The first parameter: a barrel full of monkeys 

    @pre 
    "pfirst" must have been previously passed through BarrelFiller() 
*/ 

Beachten Sie, dass pfirst ein Parameter ist, und dass es in den Voraussetzungen verwiesen wird.

Ich habe es hier mit Anführungszeichen umgeben, weil ich es vom Rest des Textes abhalten möchte. Aber es wäre schön, dies so zu tun, dass Doxygen den Befehl hervorhebt und vorzugsweise mit der Parameterdefinition verknüpft. Gibt es eine Möglichkeit, dies zu tun?

Es wäre besonders schön, wenn dies nur mit der Standardkonfiguration (oder kleineren Änderungen) geschehen würde.

Antwort

44

Doxygen liefert den Befehl \p, um anzuzeigen, dass das nächste Wort ein Parameter für die Funktion ist. Sie würden es wie folgt verwenden:

... the \p x and \p y coordinates are used to ... 

Ich glaube standardmäßig wird dies mit einer Schreibmaschine Schriftart dargestellt werden. Ich denke nicht, dass dies derzeit eine automatische Verknüpfungsfunktionalität bietet, aber möglicherweise in der Zukunft.

Es gibt einen verwandten Befehl \a, der verwendet wird, um Elementargumente zu markieren. Standardmäßig wird es mit Betonung im Text angezeigt (<em>arg</em>)

Sie können mehr Informationen über die verschiedenen Doxygen Special Commands reference finden.

+4

ich denke, das ist nicht _exactly_ was OP etwa fragt (obwohl keineswegs I vermute, ich weiß es besser als er in Bezug auf seine eigene Frage). Meistens fragt er, wie man einen Text so markiert, dass die Ausgabe _semantisch_ als Parameter markiert wird (zum Beispiel in der HTML-Ausgabe ein Element, das Mitglied der Klasse 'paramname' ist), nicht nur _gerended_ als Parameter im Standard-Stylesheet. Dies ist offensichtlich wichtig, wenn Sie Doxygens Ausgabe enthäuten, aber derzeit gibt es keine erschwingliche Möglichkeit, dies zu tun. – alecov

+0

Auch wenn Sie möchten, dass die Ausgabe Parameter mithilfe einer HTML-Klasse identifiziert, verwenden Sie immer noch die Markierung "\ p" oder "\ a" in den Quellcode-Kommentaren, da diese Doxygen Ihre Absicht mitteilen. Wie es diese Tokens in der Ausgabe darstellt, ist eine separate Angelegenheit - ob '' usw. oder als eine Klasse. Wie geht es Doxygen, das ist eine andere Sache - vielleicht sehen Sie sich die XML-Ausgabe an. –

+2

Für höchste Klarheit für alle, die hier landen, die diese Klausel in der Doxygen-Dokumentation noch nicht bemerkt haben: Sie können das führende '\' jedes Befehls durch ein '@' ersetzen und die gleichen Ergebnisse erhalten. Also, '@ p' würde auch hier funktionieren. –

2

verwenden Sie das Symbol "#" vor dem Parameter, den Sie verweisen möchten:

#pfirst must have been previously passed through BarrelFiller() 

(in the Doxygen manual)

+2

'#' wird verwendet, um Elementvariablen, nicht Funktionsparameter zu verweisen. – xuhdev

+0

Falsche Antwort. Wenn 'pfirst' ein Parameter ist, führt dies zu einer" Warnung: explizite Verbindungsanfrage an first 'konnte nicht aufgelöst werden "und der Hash wird wörtlich in die generierte Dokumentation geschrieben. Die Ausgabe ist eine schicke Verknüpfung, wenn "zuerst" eine Elementfunktion oder -variable ist. – Stein

Verwandte Themen