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

Eti*_*mps 53 c++ documentation intellisense visual-studio-2010 visual-studio

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

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

// This is a test.
void foo();
void bar() { foo(); }
Run Code Online (Sandbox Code Playgroud)

将鼠标移动时foo(),注释不会出现在工具提示中.我也尝试过:

到目前为止我没有运气.有没有人知道如何使这项工作?

Mar*_*110 16

这个现在在VS 2012中得到支持!

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

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

  • 还有[CppTripleSlash](https://visualstudiogallery.msdn.microsoft.com/22333333-fd6f-4dcb-8223-52701eddd7ad)快速添加这些评论 (3认同)

Mac*_*ski 10

我不知道它的Visual Studio版本的介绍,但在2015年VS,你可以简单地把上面的注释function,method,class,struct,union,enum class,namespace甚至个别变量(当地人太),它会通过智能感知显示.如果要记录来自不同模块的内容,则必须在头文件中编写注释.例子: 功能 类 变量

  • 它仍然可以在VS 2019中使用吗?我看不到评论了。 (3认同)

Ian*_*ros 8

尝试安装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 */

};
Run Code Online (Sandbox Code Playgroud)

  • 好吧,我的问题是关于Intellisense.视觉辅助不是智能感知.我本身并不反对Visual Assist,但我正在寻找更通用的解决方案,以便没有Visual Assist的开发人员仍然可以看到文档. (22认同)
  • @Drahakar肯定会这样.它提供了一种使其工作的方法.它需要第三方插件,但它是问题的答案.问题不是,"如何在不使用任何插件的情况下执行此操作":) (4认同)

Jes*_*olm 5

我已经很多年没有使用 VS2010 了,不记得这是否有效。但多年来我在许多不同版本的 VS 中所做的是......:

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

换句话说,手动输入 Visual Studio 将自动为您输入的C# 代码的内容。

然后给智能感知引擎一分钟左右的时间来重新解析文件。当然,进行构建会迫使它重新解析。

我记得,这在最新的 VS2010 Express 社区中有效,但我不记得它是否在 VS2010 Ultimate 中有效。