2013-08-08 6 views
5

Ho alcuni metodi magici, ma per avere ancora funzioni di completamento automatico in netbeans. Io uso al di sopra di tutte le classi di un blocco simile:Doxygen ignora @method

/** 
* @method int getEavConfigId() get object id 
* @method Model_DbTable_EavConfig setEntityType(string $entity_type) set entity_type possible values site, user, pc, ticket, alarm ; eav field is realted to this table 
* @method string getEntityType() get entity_type possible values site, user, pc, ticket, alarm ; eav field is realted to this table 
* @method Model_DbTable_EavConfig setCompanyId(integer $company_id) set company_id 
* @method integer getCompanyId() get company_id 
* @method Model_DbTable_EavConfig setType(string $type) set type possible values textfield, textarea, radio, checkbox, select ; eav field type 
* @method string getType() get type possible values textfield, textarea, radio, checkbox, select ; eav field type 
*/ 

for NetBeans questo funziona piuttosto bene. Ma doxygen le cuciture per ignorarlo completamente.

Qualcuno ha un'idea se è possibile consentire a doxygen di accettare il tag @method?

So che phpDocumentator può gestirlo. Ma preverò le documentazioni di doxygen, causate da diversi motivi.

+1

* È possibile inviare richieste di miglioramento in [bug tracker] (http://www.stack.nl/~dimitri/doxygen/). Assicurati che la gravità della segnalazione sia impostata su "miglioramento". * ([Via] (http://www.stack.nl/~dimitri/doxygen/)) - e nel caso in cui la lettura delle fonti aiuti: https: // github.com/doxygen/doxygen – hakre

+0

@hakre thx, apro il nuovo bug tracker. Speriamo che non venga ignorato: https://bugzilla.gnome.org/show_bug.cgi?id=706099 – GreenRover

+0

Bel rapporto direi! Anche la risposta qui sotto non sembra troppo male. – hakre

risposta

3

Doxygen ha già implementato la soluzione del problema ed è noto come ALIASES. La definizione di un alias deve essere specificata nel file di configurazione utilizzando il tag di configurazione ALIASES.

semplici pseudonimi

La forma più semplice di un alias è una semplice sostituzione del modulo

name=value 

Ad esempio definire il seguente alias:

ALIASES += sideeffect="\par Side Effects:\n" 

vi permetterà di mettere il comando \ sideeffect (o @sideeffect) nella documentazione, che si tradurrà in un paragrafo definito dall'utente con titolo Effetti collaterali :.

Nota che è possibile inserire \ n nella parte di valore di un alias per inserire newline.

Si noti inoltre che è possibile ridefinire i comandi speciali esistenti se lo si desidera.

Alcuni comandi, come \ xrefitem, sono progettati per essere utilizzati in combinazione con alias.

Spero che questo risolve il problema e per ulteriori informazioni visitare il DOXYGEN

+0

thx per la risposta. Ma se ho capito bene la documentazione, l'alias non può gestire ciò che sto cercando. Perché con gli alias non è possibile avere metodi definiti come: 'funzione pubblica setXyz()' e metodi virtuali (magici) come '@method int getEavConfigId() get id oggetto' combinati insieme nel blocco" Funzioni membro pubbliche " . – GreenRover

+1

Sì, sta generando correttamente documenti come ho dato il metodo attributo a cambiare come \ fn nel file di configurazione ALIASES = method = "\ fn" – Vineet1982

+0

Scusa ma non funzionerà. Perché anche il suo io non funzionerà. Ho provato il seguente esempio: '/ *! \ fn stringa Model_DbTable_EavConfig :: testTest (string c, int n) * \ brief Funzione membro. * * \ param c una stringa. * \ param n un numero intero. * \ restituisce un puntatore di caratteri. */' – GreenRover