繁体   English   中英

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

[英]Generate XML documentation comments for /// in Visual Studio 2010 C++

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

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

当键入 /// 时, CppTripleSlash在 c++ 文件中创建 xml doc 注释存根,类似于 Visual Studio 中可用于 c# 的内容。 这也有一些基本的智能感知来完成 XML 文档注释。

此功能不是内置的。 您可以尝试使用Visual Studio 加载项 我自己没有使用过Atomineer Utils Pro 文档,但它看起来很有希望。 它生成文档注释并支持 C++。 不过要10美元。

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

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

对于 C++/CLI

这些说明适用于Visual Studio 2015 Update 2

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

在此处输入图片说明

接下来,根据@tcb的回答,安装CppTripleSlash 重新启动 Visual Studio,您应该就可以开始了。

看看这个插件: GhostDoc

此功能终于作为本机功能出现在 Visual Studio 2019 16.6 中(以及自动生成的标头和 C++20 完全支持):

https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-preview

经过这么多年...

在 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 中破坏了宏(带有建议的解决方法)

这适用于 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 注释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM