2016-05-02 8 views
7

Voglio generare la documentazione solo per il codice che contiene commenti doxygen. Ho creato un Doxyfile tramite doxygen v 1.8.9.1 e configurato per la visualizzazione solo xml e nascondere tutto il codice senza documenti:.è possibile per doxygen escludere funzioni non documentate da xml generati?

GENERATE_HTML   = NO 
GENERATE_LATEX   = NO 
GENERATE_XML   = YES 
HIDE_UNDOC_MEMBERS  = YES 
HIDE_UNDOC_CLASSES  = YES 

Dopo che ho creato un semplice c intestazione test.h con una documentata e uno non documentato dichiarazioni di funzione:

void foo(int a); 

/** 
* "bar" function description 
* @param b sample param 
*/ 
void bar(int b); 

eseguendo doxygen ho aspettato solo bar documentazione da inserire nel risultante xml. Sfortunatamente, viene generata la documentazione per entrambe le funzioni. È possibile generare documentazione solo per il codice che contiene commenti doxygen o per l'output xmldoxygen includerà sempre tutto indipendentemente da settins?

risposta

2

Prima di continuare a leggere, verificare che EXTRACT_ALL sia impostato su NO.

Non sono un fan della seguente soluzione, ma funziona. Usa doxygens preprocessore

#ifdef PROJECT_NO_DOC 
void foo(int a); 
#endif /* PROJECT_NO_DOC */ 

/** 
* * "bar" function description 
* * @param b sample param 
* */ 
void bar(int b); 

nota, nei loro documenti è necessario impostare una macro predefinita, ma almeno nella mia versione di doxygen questo non era necessario. I loro documenti specificano a farlo in questo modo set a predefined macro in the config to do it for you

#ifndef DOXYGEN_SHOULD_SKIP_THIS 

/* code that must be skipped by Doxygen */ 

#endif /* DOXYGEN_SHOULD_SKIP_THIS */ 

attorno ai blocchi che dovrebbero essere nascosti e mettere:

PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS 

nel file di configurazione poi tutti i blocchi devono essere saltati da Doxygen finché

Esistono altri metodi, ma vengono forniti con vincoli aggiuntivi, ad esempio per assicurarsi che nei documenti pubblici non venga visualizzato alcun metodo statico che sia possibile impostare EXTRACT_STATIC a NO.

Problemi correlati