41

Sto programmando in C++ utilizzando Visual Studio 2010 Ultimate. Voglio documentare alcune funzioni e voglio che la documentazione venga visualizzata in Intellisense.Come scrivere commenti C++ visualizzati in Intellisense?

Secondo MSDN, ho solo bisogno di mettere il commento prima della dichiarazione o dopo sulla stessa riga. Così ho provato questo:

// This is a test. 
void foo(); 
void bar() { foo(); } 

Quando si sposta il mouse sopra foo(), il commento non viene visualizzato nella descrizione comandi. Ho anche provato:

  • ///
  • <summary></summary> tag
  • edificio con /doc (impostando il "generare file XML di documentazione" opzione nelle impostazioni di progetto)

non ho avuto fortuna finora. Qualcuno sa come farlo funzionare?

+0

penso che funziona solo per C++/CLI, il file XML deve avere lo stesso nome del * * assemblea. –

+1

al contrario: C++ Intellisense dovrebbe funzionare e C++/CLI non è (ancora?) Supportato in VS2010. Vedi http://connect.microsoft.com/VisualStudio/feedback/details/501921/c-cli-intellisense – surfen

+0

Nessuna risposta definitiva a questa domanda? –

risposta

7

provare a installare e utilizzare Visual Assistdoxigen stile:

/** 
* COMENT OF A CLASS 
**/ 
class Foo 
{ 
    public: 
     /** 
     * \brief A foo method. 
     * 
     * More complete description of foo. 
     * 
     * \param i A foo parameter. 
     * \return An int 
     * 
     **/ 
     int fooMethod(int i); 

    private: 
     int i; /*!< COMENT OF A MEMBER */ 

}; 
+1

Questo è bello, ma non risponde alla domanda ... – Drahakar

+0

Visual Assist è fantastico! Non posso immaginare di usare VS senza ora :) – Nerdtron

+4

@Drahakar sicuramente lo fa. Fornisce un modo per farlo funzionare. Richiede un addon di terze parti, ma è una risposta alla domanda. La domanda non era "come faccio a fare questo senza usare nessun addon" :) – Nerdtron

13

Questo ora supportata in VS 2012!

In precedenza, i tag XML nei commenti venivano letti solo da C++/CLI, non dal vecchio C++. VS 2012 ora porta almeno un po 'di questo in C++ regolare - è nel What's New in Visual Studio 2012 e nei documenti MSDN: XML Documentation (Visual C++).

L'ho provato con la mia applicazione definitiva nel 2012 e posso confermare che i tag riepilogo, para e seealso sono tutti formattati per suggerimenti.

+1

Ah, quindi * potrebbero * aggiungerlo dopo l'IDE re-architectured. Mi chiedo se avranno abbastanza considerazione per risolverlo per VS2010 con un service pack. – Synetech

+0

Inoltre, se vuoi aggiungere rapidamente quei commenti come puoi in C# digitando ///, puoi farlo con GhostDoc – Marcus10110

+2

C'è anche [CppTripleSlash] (https://visualstudiogallery.msdn.microsoft.com/22333333-fd6f -4dcb-8223-52701eddd7ad) per aggiungere rapidamente quei commenti – tcb

2

Non ho usato VS2010 è troppi anni per ricordare se questo ha funzionato lì o no. Ma quello che ho fatto per anni in molti diversa versione di VS è ...:

#pragma region foo(float) 
/// <summary> .... </summary> 
/// <param name="bar"> .... </param> 
/// <returns> .... </returns> 
int foo(float bar) 
{ 
    // stuff 
} 
#pragma endregion 

In altre parole, mettere manualmente in esattamente ciò che Visual Studio verrà automagicamente messo dentro per codice C# per voi.

Quindi fornire al motore Intellisense un minuto o più per eseguire nuovamente il file. Fare una build lo costringerà a rimpiazzare, ovviamente.

Come ricordo, questo funziona nella più recente Community Express VS2010, ma non ricordo se ha funzionato in VS2010 Ultimate.

6

io non sono sicuro di quale versione di Visual Studio che ha introdotto, ma in VS 2015 si può semplicemente mettere un commento di cui sopra function, method, class, struct, union, enum class, namespace o anche singole variabili (locali troppo) ed è sarà mostrato da Intellisense. Se vuoi documentare qualcosa da un modulo diverso, devi scrivere un commento nel file di intestazione. Esempi: Function Class Variable

+0

Inoltre, se si desidera che Intellisense visualizzi un documento per qualcosa da un modulo diverso, è necessario scrivere un commento nel file di intestazione. Scrivo questo in un commento perché SO sintassi per immagini è rotto. –

Problemi correlati