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

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

selon MSDN , j'ai juste besoin de mettre le commentaire avant la déclaration ou après elle sur la même ligne. J'ai donc essayé ceci:

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

lors du déplacement de ma souris sur foo() , le commentaire n'apparaît pas dans le tooltip. J'ai aussi essayé:

  • ///
  • <summary></summary> les balises
  • bâtiment avec /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. Est-ce quelqu'un connais un moyen de faire ce travail?

45
demandé sur Etienne Dechamps 2011-12-23 20:48:58

4 réponses

cette maintenant pris en charge dans VS 2012!

auparavant, les balises XML dans les commentaires n'étaient lues que par C++/CLI, et non par C++. VS 2012 apporte maintenant au moins une partie de cela dans le C++ régulier - il est dans le Quoi de neuf dans Visual Studio 2012 et dans les docs MSDN: documentation XML (Visual C++) .

je l'ai testé avec ma propre application en 2012 ultimate, et je peux confirmer que le résumé, par, et seealso tags sont tous sortis un formaté pour des conseils.

14
répondu Marcus10110 2017-07-01 11:59:46

essayez d'installer Visual Assist et en utilisant doxigen style:

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

};
7
répondu Ian Medeiros 2011-12-23 17:03:39

Je ne suis pas sûr 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 il sera montré par Intellisense. Si vous souhaitez documenter quelque chose à partir d'un autre module, vous devez écrire un commentaire dans le fichier d'en-tête. Exemple: Function Class Variable

7
répondu Maciej Szpakowski 2017-01-07 01:26:42

Je n'ai pas utilisé VS2010 est trop d'années pour se rappeler si cela a fonctionné là ou non. Mais ce que j'ai fait pendant des années dans de nombreuses versions différentes de VS 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 va automatiquement mettre pour C# code pour vous.

alors donnez au moteur Intellisense une minute ou plus pour réparer le fichier. Faire une construction le forcera à réparer, bien sûr.

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

3
répondu Jesse Chisholm 2015-08-21 23:49:18