用 Visual Studio 自动生成C/C++注释(Doxygen、XML)
文章目录
- 引言
- 方案一:用 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)相关推荐
- 如何强制Visual Studio重新生成aspx / ascx文件的.designer文件?
有时当我正在编辑页面或控制时,.designer文件停止使用我正在页面上放置的新控件进行更新. 我不确定是什么导致这种情况发生,但我想知道是否有任何方法迫使Visual Studio重新生成.desi ...
- 从Visual Studio中生成Linux设备
本文讲的是从Visual Studio中生成Linux设备,[IT168 云计算频道]近日Novell发布了SUSE Studio:一个用于创建Linux设备(appliance)的工具.与此同时,M ...
- Eclipse用法和技巧十四:自动生成的TODO注释2
前面介绍了自动生成的TODO注释含义,配置以及如何去除的方法,这里介绍下TODO常见的用途.工作中经常会遇到写代码写到一半,被叫过去开会推动沟通.o(╯□╰)o 一般都有写代码停下来一段时间,再回来就 ...
- Eclipse用法和技巧十三:自动生成的TODO注释1
使用eclipse的快捷键自动生成的代码,经常有这样的注释. 一眼看上去这个注释和一般的注释并无什么差别,不过TODO这个字符串的颜色不一样,应该有些内容.TODO是eclipse中提供的一种任务标签 ...
- Visual Studio 重新生成解决方案 无反映
Visual Studio 重新生成解决方案 无反映 参考文章: (1)Visual Studio 重新生成解决方案 无反映 (2)https://www.cnblogs.com/LeeYongze/ ...
- Android Studio自动生成UML关系图的方法步骤
本文主要介绍了Android Studio自动生成UML关系图,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.目录 安装Sketch It 安装"Pl ...
- Visual Studio2017自动生成的#include“stdafx.h”详解及解决方案
问题描述: 在高版本的Visual Studio的默认设置中,会出现这么一个现象,在新建项目之后,项目会自动生成#include"stdafx.h"的头文件,而且删掉之后,即使是自 ...
- Visual Studio 2010生成SQL Server测试数据
1.创建SQL Server 2005数据库项目 首先,打开Visual Studio 2010,选择新建项目,在下图中,选择建立一个SQL Server 2005的数据库项目,命名为Database ...
- Visual Studio 2015安装的Visual Studio Installer生成的msi兼容XP系统
安装程序开始画在xp显示: 追踪故障源的方法--命令行安装.msi程序,可以看到log日志.即 msiexec /i a.msi /l*v a.log 将会生成名为"a.log"的 ...
最新文章
- 线程、线程匿名内部类、解决线程不安全的方式
- python十进制转八进制_怎样用python进行二进制,八进制,十进制转换
- Nginx在开发中常用的基础命令
- 设置Eclipse RCP程序的外观和首选项
- SAP UI5里sap.m.shell的实现
- 使用IDEA 创建SpringBoot项目
- html怎么制作附页,HTML和CSS属性的正确书写规范
- linux简单好玩的命令,有趣的Linux命令行玩法 cal
- CODE ---代码助手 (保存代码、搜代码、生成网页、自由界面)
- windows跨设备实现复制粘贴
- 应用程序正常初始化(0xc0150002)失败。请单击“确定”,终止应用程序
- 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置。
- 智能PID软件-AVEVA Diagrams设备符号导入
- 3Dmax使用者快速上手Maya心得之建模
- 【XSY3949】取石子游戏(博弈,线段树)
- 【mysql】mysql数据备份与恢复
- 浅析私有化即时通讯软件的用处有哪些
- (附源码)计算机毕业设计SSM基于的仓库管理系统
- 中文自然语言处理--文档向量Doc2Vec
- DSR on Openstack POC
热门文章
- ASP.NET 2.0 中动态添加 GridView 模板列
- NodeJS的环境变量process.env.*
- Typora+PicGo+github搭建免费稳定图床写博客如行云流水(mac+window)
- mysql5.7 gruop by报错this is incompatible with sql_mode=only_full_group_by
- jenkins 拉取git源码超时
- C#开发笔记之03-为什么选择IsNotXXX方法而不是IsXXX方法?
- 几枝浏览器插件介绍,一个充满了中国风的浏览器插件
- linux,windwos之间共享文件的其妙方法
- angular2创建应用_如何在Angular 2+应用程序中使用JavaScript库
- python 微信bot_我如何创建Python Bot自动登录到强制门户