2013-03-13 16 views
34

Ho la seguente documentazione Doxygen per una funzione:Qual è il modo corretto per fare riferimento a un parametro in Doxygen?

/** 
    @brief Does interesting things 

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

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

Nota che pfirst è un parametro, e che viene fatto riferimento nelle premesse.

L'ho circondato con le virgolette qui perché voglio tenerlo fuori dal resto del testo. Ma sarebbe bello farlo in modo che Doxygen evidenzi il comando e, preferibilmente, collegarlo alla definizione del parametro. C'è un modo per fare questo?

Sarebbe particolarmente bello se ciò accadesse usando solo la configurazione di default (o le sue modifiche minori).

risposta

44

Doxygen fornisce il comando \p per indicare che la parola successiva è un parametro della funzione. Lo useresti in questo modo:

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

Credo che per impostazione predefinita questo sarà rappresentato utilizzando un carattere di macchina da scrivere. Non penso che attualmente fornisca alcuna funzionalità di auto-collegamento, ma potenzialmente potrebbe in futuro.

Esiste un comando correlato, \a utilizzato per contrassegnare gli argomenti dei membri. Per impostazione predefinita, viene visualizzato con enfasi nel testo (<em>arg</em>)

È possibile trovare ulteriori informazioni sui vari Doxygen Special Commands reference.

+4

credo che questo non è _esattamente_ quello OP sta chiedendo circa (anche se in nessun modo I presumo che conosca meglio di lui per quanto riguarda la sua stessa domanda). Per lo più, ciò che sta chiedendo è come contrassegnare un testo in modo tale che l'output sarà _semanticamente_ contrassegnato come un parametro (ad esempio, nell'output HTML, un elemento che è membro della classe 'paramname'), non solo _renderato allo stesso modo_ come parametri nel foglio di stile predefinito. Questo è ovviamente importante se stai sfoltando l'output di Doxygen, ma al momento non c'è un modo conveniente per farlo. – alecov

+0

Anche se si desidera che l'output identifichi i parametri utilizzando una classe HTML, si utilizzerà comunque il markup "\ p" o "\ a" nei commenti del codice sorgente, poiché questi indicano a Doxygen le proprie intenzioni. Il modo in cui esegue il rendering di questi token nell'output è una questione a parte, sia "", sia come classe. Come fare Doxygen fare questo è un altro argomento - forse guarda l'output XML. –

+2

Per la massima chiarezza per chiunque si trovi qui che non abbia ancora notato questa clausola nella documentazione di Doxygen: è possibile sostituire qualsiasi comando che porta '\' con un '@' e ottenere gli stessi risultati. Quindi anche '@ p' funzionerebbe anche qui. –

2

usare il simbolo "#" davanti al parametro che si desidera fare riferimento:

#pfirst must have been previously passed through BarrelFiller() 

(in the Doxygen manual)

+2

'#' è usato per riferire variabili membro, non parametri funzione. – xuhdev

+0

Risposta sbagliata. Se 'pfirst' è un parametro, questo produce un" avviso: la richiesta di collegamento esplicito a pfirst "non può essere risolta" e l'hash è scritto letteralmente nella documentazione generata. L'output è un collegamento di fantasia se 'pfirst' è una funzione membro o una variabile. – Stein

Problemi correlati