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

26

我需要用摘要、返回值和参数标签来注释我的函数原型(用C/C++编写)。如何说服Visual Studio在三个正斜杠后插入xml标记,就像在C#中一样?我找到了一个解决方案。当我在C++项目中将xx.h重命名为xx.cs时,我可以使用///来生成xml注释(IntelliSense在xml注释中也有效)。肯定有更好的方法,不是吗?如果要手动编写,那会把我累死的。我将感激每一个有用的评论。

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

这是由于C++和C#语言团队使用不同的Intellisense引擎导致的结果。据我所知,当在C++文件中键入“///”时,您将无法获得C#自动完成功能。 - Steve Guidi
1
不可以。当文件扩展名为cs时,我可以。重命名文件以编写xml注释并不合适,但这样做有所帮助。 - user471571
虽然我同意应该有一种方法让IDE为你完成这个操作,但是在 "手动编写文档会杀了我" 方面,真的吗?如果您在进入这些文档块的文本时足够冗长(以便在忘记是自己编写它之后了解如何使用代码),那么 /// 和xml标签的开销并不是很大。:-) - 或者,非常错误地引用电影《第十三勇士》“学会更快地打字。” :-) :-) - Jesse Chisholm
@JesseChisholm 这确实是个问题。因为这个问题,我曾经真的想放弃使用C++。 - Kotauskas
8个回答

8

CppTripleSlash在C++文件中创建XML文档注释桩,当键入///时,类似于Visual Studio中可用的C#。这还具有一些基本的智能感知功能,用于完成XML文档注释。


这在 Visual Studio 2015 Update 2 的 C++/CLI 中 非常出色。在功能启动之前需要重新启动 VS。 - Contango
我不能推荐它。它要求开发人员更改他们的代码以便在所有情况下工作,这对于仅添加注释的工具来说是不可行的。此外,它的行为与我们在C#中习惯的有所不同,有时会产生更多的工作。例如,它不会在新行中插入///,并且每次输入三个斜杠时都会愚蠢地插入<summary>标签。 - j00hi

7

2
Atomineer Utils是您想要的产品。在测试了10分钟的免费试用之后,我很高兴地支付了10美元。如果您曾经使用过C#或VB,它的功能就像您所期望的那样。 - Charles

6

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

GhostDoc有一个免费版本供个人使用,已经可以完成此功能。


4

针对 C++/CLI

这些指令适用于 Visual Studio 2015 Update 2

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

enter image description here

接下来,根据 @tcb 的回答,安装 CppTripleSlash。重启 Visual Studio,就可以使用了。


1

1

0
在 Visual Studio 2010 C++ 中,您可以定义宏来为您插入内容。
定义一个宏以插入基本函数头摘要行。
/// <summary> </summary>

另一个用于空参数行,另一个用于返回行。

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

并且

/// <returns> </returns>

这将使用三个宏来满足您的大部分需求。如果您经常使用它们,那么添加一个宏用于 /// <remarks></remarks>/// <exception name=""></exception><see cref=""/> 以及任何您不经常使用的内容,您需要手动输入。

是的,您将不得不手动输入参数名称。:) 宏无法完成所有任务。:)

请参见:MSDN : VS2010 : 如何记录宏

请参见:MSDN : VS2010 : 如何运行宏

更新:在撰写此答案时,我不知道这些帖子:

SO: VS2010中宏无法运行

MS: 2014年2月安全修复程序破坏了VS2010中的宏(提供了一个建议的解决方法)


0

适用于C++/CLI

另一种方法是使用ILSpyC++/CLI代码转换为C#。然后,在C#中,您可以编写带有IntelliSence支持的注释。然后只需将注释复制到C++/CLI项目中,编译即可。

配置Visual Studio(2013)以使用ILSpy

  1. 下载ILSpy二进制文件
  2. 通过打开“工具/外部工具/添加”来在Visual Studio中添加新的工具条目。
  3. 在那里输入ILSpy.exe的路径作为命令,$(TargetPath)作为参数,$(TargetDir)作为初始目录。
  4. 应用并关闭窗口。
  5. (在工具选项卡中出现了一个新条目)
  6. 创建一个新的空C#项目。

使用它

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接