41

我使用Visual Studio 2010 Ultimate在C++中进行编程。我想记录一些功能,我希望文档在Intellisense中显示。如何编写在Intellisense中显示的C++注释?

根据MSDN,我只需要在声明之前或在同一行之后放置注释。所以,我想这一点:

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

当过foo()移动我的鼠标,注释不会出现在工具栏中。我也试过:

  • ///
  • <summary></summary>标签
  • 建设与/doc(通过设置 “生成XML文档文件” 选项,在项目设置)

我已经没有运气至今。有没有人知道一种方法来完成这项工作?

+0

我认为只适用于C++/CLI,.xml文件必须具有相同的名称作为*装配*。 – 2011-12-23 20:23:03

+1

恰恰相反:C++ Intellisense应该可以工作,并且C++/CLI在VS2010中不支持(还?)。请参阅http://connect.microsoft.com/VisualStudio/feedback/details/501921/c-cli-intellisense – surfen 2012-03-14 10:08:16

+0

对此问题没有确定的答案? – 2013-03-08 17:59:58

回答

7

尝试安装Visual Assist和使用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 */ 

}; 
+1

这很好,但它不回答这个问题... – Drahakar 2011-12-23 17:05:16

+0

Visual Assist真棒!无法想象使用VS现在没有它:) – Nerdtron 2011-12-23 17:05:29

+4

@Drahakar确定它。它提供了一种使其工作的方法。它需要第三方插件,但它是对这个问题的回答。这个问题不是,“我怎么做,而不使用任何插件”:) – Nerdtron 2011-12-23 17:06:19

13

这现在支持在VS 2012!

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

我已经用我自己的应用程序在2012年最终测试了它,并且我可以确认摘要,段落和seealso标签都被拉出格式化为工具提示。

+1

啊,所以他们*可以*将其添加到重新架构的IDE毕竟。我想知道他们是否有足够的考虑,通过Service Pack修复VS2010。 – Synetech 2013-06-06 13:56:37

+0

另外,如果你想快速添加这些评论,就像你可以在C#中输入///一样,你可以使用GhostDoc – Marcus10110 2013-11-23 02:36:53

+2

还有[CppTripleSlash](https://visualstudiogallery.msdn.microsoft.com/22333333-fd6f -4dcb-8223-52701eddd7ad)快速添加这些评论 – tcb 2015-04-16 16:42:43

2

我没有使用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旗舰版中工作。

6

我不知道它的Visual Studio版本的介绍,但在2015年VS,你可以简单地把上面的注释一functionmethodclassstructunionenum classnamespace甚至个别变量(当地人太),它将由Intellisense显示。如果你想从另一个模块中记录某些东西,你必须在头文件中写一个注释。例子: Function Class Variable

+0

另外,如果您希望Intellisense显示来自不同模块的文档的doc,则必须在头文件中写入注释。我在评论中写了这个,因为图像的SO语法被破坏了。 – 2017-01-07 01:33:10