Je programme en C++ à l'aide de Visual Studio 2010 Ultimate. Je souhaite documenter certaines fonctions et je souhaite que la documentation apparaisse dans Intellisense.
Selon MSDN , j'ai juste besoin de mettre le commentaire avant la déclaration ou après sur la même ligne. J'ai donc essayé ceci:
// This is a test.
void foo();
void bar() { foo(); }
Lorsque je déplace ma souris sur foo()
, le commentaire n'apparaît pas dans l'info-bulle. J'ai aussi essayé:
///
<summary></summary>
balises/doc
(en définissant l'option "Générer des fichiers de documentation XML" dans les paramètres du projet)Je n'ai pas eu de chance jusqu'à présent. Quelqu'un sait-il comment faire fonctionner cela?
Cela est désormais pris en charge dans VS 2012!
Auparavant, les balises XML dans les commentaires n'étaient lues que par C++/CLI, et non par du C++ ancien. VS 2012 apporte maintenant au moins une partie de cela en C++ normal - c'est dans le Quoi de neuf dans Visual Studio 2012 et dans les documents MSDN: Documentation XML (Visual C++) .
Je l'ai testé avec ma propre application en 2012 ultime, et je peux confirmer que les balises de résumé, para et seealso sont toutes extraites et formatées pour les info-bulles.
Je ne sais pas quelle version de Visual Studio a introduit cela, mais dans VS 2015, vous pouvez simplement mettre un commentaire au-dessus d'un function
, method
, class
, struct
, union
, enum class
, namespace
ou même des variables individuelles (locales aussi) et elles seront affichées par Intellisense. Si vous souhaitez documenter quelque chose à partir d'un module différent, vous devez écrire un commentaire dans le fichier d'en-tête. Exemples:
Essayez d'installer Visual Assist et d'utiliser doxygen style:
/**
* COMMENT DESCRIBING 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 */
};
Je n'ai pas utilisé VS2010 depuis trop d'années pour me rappeler si cela a fonctionné là-bas ou non. Mais ce que j'ai fait pendant des années dans de nombreuses versions différentes de VS, c'est ...:
#pragma region foo(float)
/// <summary> .... </summary>
/// <param name="bar"> .... </param>
/// <returns> .... </returns>
int foo(float bar)
{
// stuff
}
#pragma endregion
En d'autres termes, mettre manuellement exactement ce que Visual Studio mettra automatiquement pour code C # pour vous.
Donnez ensuite au moteur Intellisense une minute environ pour analyser le fichier. Bien sûr, faire un build le forcera à ré-analyser.
Si je me souviens bien, cela fonctionne dans la dernière communauté VS2010 Express, mais je ne me souviens pas si cela a fonctionné dans VS2010 Ultimate.