Comment écrire des commentaires C ++ qui apparaissent dans Intellisense?

Je programme en C ++ avec Visual Studio 2010 Ultimate. Je veux documenter certaines fonctions et je veux que la documentation apparaisse dans Intellisense.

Selon MSDN , je dois juste 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 vous déplacez ma souris sur foo() , le commentaire n’apparaît pas dans l’info-bulle. J’ai aussi essayé:

  • ///
  • balises

  • Construire avec /doc (en définissant l’option “Générer des fichiers de documentation XML” dans les parameters du projet)

Je n’ai pas eu de chance jusqu’à présent. Est-ce que quelqu’un connaît un moyen de faire ce travail?

Ceci maintenant pris en charge dans VS 2012!

Auparavant, les balises XML dans les commentaires étaient uniquement lues par C ++ / CLI, et pas simplement par C ++. VS 2012 apporte maintenant au moins une partie de ceci dans C ++ normal – il est dans les nouveautés de Visual Studio 2012 et dans les documents MSDN: documentation XML (Visual C ++) .

Je l’ai testé avec ma propre application en 2012 et je peux confirmer que les balises summary, para et seealso sont toutes formatées pour les info-bulles.

Essayez d’installer Visual Assist et d’utiliser le style doxigen :

 /** * 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 */ }; 

Je ne suis pas sûr de la version de Visual Studio qui a été introduite, mais dans VS 2015, vous pouvez simplement mettre un commentaire au-dessus d’une function , method , class , struct , union , enum class , namespace ou même des variables individuelles. par Intellisense. Si vous voulez documenter quelque chose à partir d’un autre module, vous devez écrire un commentaire dans le fichier d’en-tête. Exemples: Fonction Classe Variable

Je n’ai pas utilisé VS2010, c’est trop d’années pour savoir si cela a fonctionné ou non. Mais ce que je fais depuis des années dans de nombreuses versions de VS est …:

 #pragma region foo(float) ///  ....  ///  ....  ///  ....  int foo(float bar) { // stuff } #pragma endregion 

En d’autres termes, insérez manuellement exactement ce que Visual Studio mettra automatiquement dans le code C # pour vous.

Donnez ensuite au moteur Intellisense une minute environ pour parsingr le fichier. Faire un build le forcera à faire des réparations, bien sûr.

Si je me souviens bien, cela fonctionne dans la communauté VS2010 Express la plus récente, mais je ne me souviens pas si cela a fonctionné dans VS2010 Ultimate.