文章目录

  • 引言
  • 方案一:用 Doxygen Comments 生成 Doxygen 风格注释
    • 1. 在VS中安装 Doxygen Comments 扩展
    • 2. 重启VS,启用扩展
    • 3. 使用 Doxygen Comments 自动生成注释
  • 方案二:用 GhostDoc 自动生成 xml 风格注释
    • 1. 安装 GhostDoc 扩展
    • 2. 重启VS,启用扩展
    • 3. 使用 GhostDoc 自动生成注释
  • 结语
  • 参考链接

引言

之前在网上搜索的时候,发现 VS 自动生成 C# 代码模板的帖子很多,C++的比较少。

所以整理一下,用 VS 开发 C++ 时可以用的自动注释工具。

方案一:用 Doxygen Comments 生成 Doxygen 风格注释

如果你比较喜欢 Doxygen 风格的注释,那你可以试试 Doxygen Comments 这个扩展,简洁好用。

  • Doxygen Comments 可以为函数、标题和所有其他成员自动创建 doxygen 注释。

  • Doxygen 是一种从带注释的源代码生成文档的工具。最初专为 C++ 创建,现在也支持 C、Objective-C、C#、PHP、Java、Python、IDL、Fortran、VHDL、Tcl 和 D。输出格式包括 HTML、Latex、RTF (MS-Word)、PostScript 、超链接的 PDF、压缩的 HTML 和 Unix 手册页。

1. 在VS中安装 Doxygen Comments 扩展

工具——扩展——管理扩展,在联机中搜索:Doxygen Comments,点击“下载”开始安装。

如果想查看详细说明,点击右侧的“详细信息”:

2. 重启VS,启用扩展

安装完控件后,需要先关闭 VS,才能继续安装扩展。安装完成后,重启VS,即可在已安装的扩展中找到 Doxygen Comments。

3. 使用 Doxygen Comments 自动生成注释

在h文件第一行输入/**,然后回车,就会生成以下文件头部注释:

/*****************************************************************//*** \file   sampleClass.h* \brief ** \author Finn * \date   April 2020
***********************************************************************/

在函数前面一行输入/**,然后回车,就会自动生成如下函数注释:

/*** .* * \param country* \param city* \return */
int add_city_to_country(string country, string city) {// TODO:...
}

方案二:用 GhostDoc 自动生成 xml 风格注释


GhostDoc 是一个 Visual Studio 扩展,适用于使用可自定义模板从源代码生成 XML 注释、维护干净的文档、生成多种格式的帮助文档。

GhostDoc支持

  • 自动生成 XML 注释
    立即生成格式正确的方法和类型文档。
    参数和返回值预先填充了智能描述。
  • 可定制的 XML 注释模板
    使用模板精确地根据你的特定需求自定义生成的文档。
    标准 T4 模板允许你完全根据需要自定义文档生成。

1. 安装 GhostDoc 扩展

工具——扩展——管理扩展,在联机中搜索:GhostDoc,点击“下载”开始安装。

2. 重启VS,启用扩展

安装完控件后,需要先关闭 VS,才能继续安装扩展。安装完成后,重启VS,即可在【工具】看到GhostDoc。

对函数、类、结构体、接口等进行自动注释的快捷键是:Ctrl+Shift+D。

在【Options】——【Rules】中,可以对注释规则进行编辑修改。

3. 使用 GhostDoc 自动生成注释

在函数前面一行输入 /// ,然后就会自动生成如下函数注释:

/// <summary>
/// Adds the city to country.
/// </summary>
/// <param name="country">The country.</param>
/// <param name="city">The city.</param>
/// <returns></returns>
int add_city_to_country(string country, string city) {// TODO:...
}

这里函数的摘要、参数名解释都是纯自动生成的。

可以看出, GhostDoc 更智能,可以自己根据你的函数名,自动生成对应的介绍

真是懒人福音,又可以少打几行字,尤其在参数多时非常省心。

结语

良好的起名习惯,可以让工具帮你自动生成清晰的注释,进而为自动生成文档做好准备。
现在的自动注释工具越来越方便,赶快尝试起来,减轻写注释的负担吧!


参考链接

https://www.doxygen.nl/download.html
https://computingonplains.wordpress.com/doxygen-and-visual-studio/
https://marketplace.visualstudio.com/items?itemName=sergeb.GhostDoc
https://marketplace.visualstudio.com/items?itemName=FinnGegenmantel.doxygenComments
https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/comments/

用 Visual Studio 自动生成C/C++注释(Doxygen、XML)相关推荐

  1. 如何强制Visual Studio重新生成aspx / ascx文件的.designer文件?

    有时当我正在编辑页面或控制时,.designer文件停止使用我正在页面上放置的新控件进行更新. 我不确定是什么导致这种情况发生,但我想知道是否有任何方法迫使Visual Studio重新生成.desi ...

  2. 从Visual Studio中生成Linux设备

    本文讲的是从Visual Studio中生成Linux设备,[IT168 云计算频道]近日Novell发布了SUSE Studio:一个用于创建Linux设备(appliance)的工具.与此同时,M ...

  3. Eclipse用法和技巧十四:自动生成的TODO注释2

    前面介绍了自动生成的TODO注释含义,配置以及如何去除的方法,这里介绍下TODO常见的用途.工作中经常会遇到写代码写到一半,被叫过去开会推动沟通.o(╯□╰)o 一般都有写代码停下来一段时间,再回来就 ...

  4. Eclipse用法和技巧十三:自动生成的TODO注释1

    使用eclipse的快捷键自动生成的代码,经常有这样的注释. 一眼看上去这个注释和一般的注释并无什么差别,不过TODO这个字符串的颜色不一样,应该有些内容.TODO是eclipse中提供的一种任务标签 ...

  5. Visual Studio 重新生成解决方案 无反映

    Visual Studio 重新生成解决方案 无反映 参考文章: (1)Visual Studio 重新生成解决方案 无反映 (2)https://www.cnblogs.com/LeeYongze/ ...

  6. Android Studio自动生成UML关系图的方法步骤

    本文主要介绍了Android Studio自动生成UML关系图,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.目录 安装Sketch It 安装"Pl ...

  7. Visual Studio2017自动生成的#include“stdafx.h”详解及解决方案

    问题描述: 在高版本的Visual Studio的默认设置中,会出现这么一个现象,在新建项目之后,项目会自动生成#include"stdafx.h"的头文件,而且删掉之后,即使是自 ...

  8. Visual Studio 2010生成SQL Server测试数据

    1.创建SQL Server 2005数据库项目 首先,打开Visual Studio 2010,选择新建项目,在下图中,选择建立一个SQL Server 2005的数据库项目,命名为Database ...

  9. Visual Studio 2015安装的Visual Studio Installer生成的msi兼容XP系统

    安装程序开始画在xp显示: 追踪故障源的方法--命令行安装.msi程序,可以看到log日志.即 msiexec /i a.msi /l*v a.log 将会生成名为"a.log"的 ...

最新文章

  1. 线程、线程匿名内部类、解决线程不安全的方式
  2. python十进制转八进制_怎样用python进行二进制,八进制,十进制转换
  3. Nginx在开发中常用的基础命令
  4. 设置Eclipse RCP程序的外观和首选项
  5. SAP UI5里sap.m.shell的实现
  6. 使用IDEA 创建SpringBoot项目
  7. html怎么制作附页,HTML和CSS属性的正确书写规范
  8. linux简单好玩的命令,有趣的Linux命令行玩法 cal
  9. CODE ---代码助手 (保存代码、搜代码、生成网页、自由界面)
  10. windows跨设备实现复制粘贴
  11. 应用程序正常初始化(0xc0150002)失败。请单击“确定”,终止应用程序
  12. 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置。
  13. 智能PID软件-AVEVA Diagrams设备符号导入
  14. 3Dmax使用者快速上手Maya心得之建模
  15. 【XSY3949】取石子游戏(博弈,线段树)
  16. 【mysql】mysql数据备份与恢复
  17. 浅析私有化即时通讯软件的用处有哪些
  18. (附源码)计算机毕业设计SSM基于的仓库管理系统
  19. 中文自然语言处理--文档向量Doc2Vec
  20. DSR on Openstack POC

热门文章

  1. ASP.NET 2.0 中动态添加 GridView 模板列
  2. NodeJS的环境变量process.env.*
  3. Typora+PicGo+github搭建免费稳定图床写博客如行云流水(mac+window)
  4. mysql5.7 gruop by报错this is incompatible with sql_mode=only_full_group_by
  5. jenkins 拉取git源码超时
  6. C#开发笔记之03-为什么选择IsNotXXX方法而不是IsXXX方法?
  7. 几枝浏览器插件介绍,一个充满了中国风的浏览器插件
  8. linux,windwos之间共享文件的其妙方法
  9. angular2创建应用_如何在Angular 2+应用程序中使用JavaScript库
  10. python 微信bot_我如何创建Python Bot自动登录到强制门户