在Visual Studio 2010 C ++中为///生成XML文档注释

时间:2010-10-30 17:17:14

标签: c++ xml comments

我需要使用summary,returns,param标签来评论我的函数原型(用C / C ++编写)。如何说服Visual Studio在C#之后的三个正斜杠之后插入xml标签?我找到了一个解决方案当我在C ++项目中重命名xx.h xx.cs时,我可以使用///生成xml注释(xml注释中的IntelliSense也可以)。一定有更好的方法,一定不是吗? 手动编写它会杀了我。我会对每一条有用的评论表示感谢。

/// <summary>
/// 
/// </summary>
/// <param name="aa"></param>
/// <returns></returns>
bool function1(TypeX aa);

7 个答案:

答案 0 :(得分:8)

当输入///时,

CppTripleSlash在c ++文件中创建xml doc注释存根,类似于visual studio中可用于c#的内容。这也有一些基本的智能感知来完成XML文档评论。

答案 1 :(得分:7)

此功能不是buit-in。您可以尝试使用Visual Studio add-ins。我自己没有使用Atomineer Utils Pro Documentation,但看起来很有希望。它生成文档注释并支持C ++。它虽然花了10美元。

答案 2 :(得分:6)

GhostDoc现在将为C ++元素插入XML注释。只需将光标放在元素上,然后按 Ctrl + Shift + D

GhostDoc有一个供个人使用的免费版本,已经可以使用。

答案 3 :(得分:3)

对于C ++ / CLI

这些说明适用于Extended dictionary in numpy array: [{'Test': {'field': 'test'}}]

首先,打开XML文档。这会生成一个元数据文件,这意味着注释将在外部可见,包括C#。

enter image description here

接下来,根据Visual Studio 2015 Update 2的答案,安装CppTripleSlash。重新启动Visual Studio,你应该很高兴。

答案 4 :(得分:1)

看看这个加载项: GhostDoc

答案 5 :(得分:0)

在Visual Studio 2010 C ++中,您可以定义宏以便为您插入内容。

定义一个宏以插入基本函数标题摘要行。

/// <param name=""> </param>

另一个是空的参数线,另一个是返回线。

/// <returns> </returns>

/// <remarks></remarks>

只需三个宏即可满足您的大多数需求。如果您足够使用它们,请为/// <exception name=""></exception><see cref=""/>以及backgroundColor添加一个宏,如果您没有使用足够的宏来制作宏,则需要手动输入。< / p>

是的,您必须手动输入参数的名称。 :)宏不能做任何事情。 :)

请参阅:MSDN : VS2010 : How to Record Macros

请参阅:MSDN : VS2010 : How to Run macros

更新:当我写这个答案时,我没有意识到这些线程:

SO: Macros don't run in VS2010

MS: Macros broken in VS2010 by security fix Feb 2014(建议的解决方法)

答案 6 :(得分:0)

这适用于C ++ / CLI

另一种方法是使用ILSpy C ++ / CLI代码转换为C#。然后,在C#中,您可以使用IntelliSence支持编写注释。然后只需将注释复制到C ++ / CLI项目中,编译就可以了: - )

配置Visual Studio(2013)以使用ILSpy

  1. 下载ILSpy二进制文件
  2. 通过打开&#34;工具/外部工具/添加&#34;在Visual Studio中添加新工具条目。
  3. 为命令输入ILSpy.exe,为参数输入$(TargetPath),为初始目录输入$(TargetDir)
  4. 应用并关闭窗口。
  5. (工具标签中显示新条目)
  6. 创建一个新的空C#项目。
  7. 使用

    如果随后打开 C ++ / CLI 项目的任何文件并激活“工具”选项卡中的新条目,则会出现一个窗口(ILSpy),显示转换为C#代码的程序集。将该代码复制到位于C#项目中的文件并编写XML注释。