web-dev-qa-db-ja.com

IntelliSenseに表示されるC ++コメントの書き方

Visual Studio 2010 Ultimateを使用してC++でプログラミングしています。いくつかの機能をドキュメント化したいし、ドキュメントをIntellisenseに表示したい。

[〜#〜] msdn [〜#〜] によれば、コメントを宣言の前または同じ行の後に置くだけです。だから私はこれを試しました:

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

マウスをfoo()の上に移動すると、コメントがツールチップに表示されません。私も試しました:

  • _///_
  • _<summary></summary>_ タグ
  • _/doc_ でビルド(プロジェクト設定で「XMLドキュメントファイルの生成」オプションを設定)

今のところ運がありません。誰でもこの仕事をする方法を知っていますか?

50

これは、VS 2012でサポートされるようになりました!

以前は、コメント内のXMLタグはC++/CLIによってのみ読み込まれ、単純な古いC++では読み込まれませんでした。 VS 2012では、少なくともこの一部が通常のC++に組み込まれています。 Visual Studio 2012の新機能 およびMSDNドキュメント: XMLドキュメント(Visual C++) にあります。

2012年のUltimateで独自のアプリケーションでテストしましたが、summary、para、seealsoタグはすべてツールチップ用にフォーマットされて引き出されていることを確認できます。

16
Marcus10110

どのバージョンのVisual Studioがそれを導入したのかはわかりませんが、VS 2015では、functionmethodclassstructの上にコメントを置くことができます。 、unionenum classnamespace、または個々の変数(ローカルも)であり、Intellisenseによって表示されます。別のモジュールから何かを文書化する場合は、ヘッダーファイルにコメントを記述する必要があります。例: FunctionClassVariable

9

Visual Assist をインストールして doxygen スタイルを使用してみてください:

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

};
8
Ian Medeiros

私はVS2010を使用していませんが、これが機能するかどうかを覚えるには長すぎます。しかし、VSの多くの異なるバージョンで何年もやってきたことは...:

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

言い換えると、Visual StudioがC#コードに自動的に入力するものを正確に手動で入力します。

次に、Intellisenseエンジンに1分ほど待って、ファイルを再解析します。もちろん、ビルドを実行すると、再解析が強制されます。

私が思い出すように、これは最新のVS2010 Express Communityで機能しますが、VS2010 Ultimateで機能したかどうかは思い出せません。

4
Jesse Chisholm