如何编写出现在Intellisense中的C ++注释?

时间:2011-12-23 16:48:58

标签: c++ visual-studio visual-studio-2010 documentation intellisense

我正在使用Visual Studio 2010 Ultimate在C ++中编程。我想记录一些函数,我希望文档显示在Intellisense中。

根据MSDN,我只需要在声明之前或之后将评论放在同一行。所以我尝试了这个:

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

将鼠标移到foo()上时,评论不会显示在工具提示中。我也尝试过:

  • ///
  • <summary></summary>标签
  • 使用/doc构建(通过在项目设置中设置“生成XML文档文件”选项)
到目前为止,我没有运气。有没有人知道如何使这项工作?

4 个答案:

答案 0 :(得分:15)

现在支持VS 2012!

以前,注释中的XML标记只能由C ++ / CLI读取,而不是普通的旧C ++。 VS 2012现在至少将其中的一部分带入常规C ++ - 它位于What's New in Visual Studio 2012和MSDN文档中:XML Documentation (Visual C++)

我在2012年终极版中使用我自己的应用程序对其进行了测试,我可以确认摘要,para和seealso标签都是针对工具提示格式化的。

答案 1 :(得分: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 */

};

答案 2 :(得分:7)

我不确定Visual Studio引入了哪个版本,但在VS 2015中,您只需将注释放在functionmethodclass,{{1}之上},structunionenum class甚至个别变量(也是本地人),它将由Intellisense显示。如果要记录来自不同模块的内容,则必须在头文件中编写注释。例子:     Function     Class     Variable

答案 3 :(得分:4)

我还没有使用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引擎一分钟左右来重新解析文件。当然,进行构建会强制它进行重新分析。

我记得,这适用于最新的VS2010 Express社区,但我不记得它是否适用于VS2010 Ultimate。