当前位置: 首页 > news >正文

使用Doxygen生成C#帮助文档


文章目录[点击展开](?)[+]

  1. 一 什么是Doxygen
  2. 二 准备软件
    1. 1 doxygen
    2. 2 graphviz
    3. 3 Microsoft HTML Help Workshop
  3. 三 C注释
  4. 四 配置
    1. 1 Doxygen工作目录
    2. 2 Wizard 向导
    3.       421 Project 项目
    4.       422 Mode 模式
    5.       423 Output 输出
    6.       424 Diagrams 图表
    7. 3 Export 导出
    8.       431 Project  项目
    9.       432 Build 构建
    10.       433 Input 输入
    11.       434 Index 索引
    12.       435 HTML
    13.       436 Dot
    14. 五Run 运行
    15. 六HTML效果图
    16. 七CHM效果图
    17. 八提醒

一. 什么是Doxygen?

Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。大部分有用的批注都是属于针对函式,类别等等的说明。所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担。不过,反过来说,整理文件的工作对于您来说,就是沉重的负担。
Doxygen 就是在您写批注时,稍微按照一些它所制订的规则。接着,他就可以帮您产生出漂亮的文档了。
因此,Doxygen 的使用可分为两大部分。首先是特定格式的批注撰写,第二便是利用Doxygen的工具来产生文档。

二. 准备软件

2.1 doxygen

官网:http://www.doxygen.nl/

下载地址:http://www.stack.nl/~dimitri/doxygen/download.html

image

2.2 graphviz

官网:http://www.graphviz.org/content/dot-dotexe

注:这个软件不是必需的,如果需要使用更强大的功能比如类继承体系图等则需要安装此软件配置使用,需要安装Java环境
下载地址:http://www.graphviz.org/Download_windows.php

image

 

2.3 Microsoft HTML Help Workshop

chm文件制作工具

三个软件

三. C#注释

<Summary> 对整体进行概要性描述
<summary>Description</summary>
类、属性(不推荐)、方法等 
 
<para> 跟在Summary之后,对方法所涉及的入口参数进行有效的解释
<param name=username>本参数是用户的帐号</param>
方法的入口参数; 
 
<returns> 对方法的返回值进行解释;
<returns>返回值零代表操作成功,-1代表操作不成功</returns>
方法的返回值; 
 
<remarks> 对一些语句进行备注性描述
<remarks>本类需要调用另外一个User类相关方法</remarks>
类、方法、属性等; 
 
<see> 在生成的文档中产生一个连接到其它描述的超链接;
<see cref=”[member]”/>
可以在其它注释标识符中加入 
 
<seealso> 与上者的区别是本标识符显示超链接在一个文档的尾部的“See Also”区域,而前者在文档之中;
<seealso cref=”[member]”/>
不可以在其它注释标识符中加入 
 
<value> 对一个属性进行概要性解释;
<value>这是一个public属性</value>
属性 
 
<code> 如果需要置入一部分源代码段,可以使用本标识符将其标记出来
<code>
public int add(int a,b)
{
return a+b;
}
</code>
可以在其它注释标识符中加入 
 
<exception> 对程序中可能抛出的异常做解释;
<exception cref=”System.Exception>抛出的异常情况</exception>
在方法当中如果有抛出异常,如“try…catch结构”时可以使用本标识符做解释 
 
<permission> 对方法的访问权限做一些解释:
<permission cref=”System.Security.PermissionSet>这是公共方法</permission>
方法,属性 
 
<c><code>标识符基本相同,但本标识符仅用于单行代码;
<c>return a+b;</c>
可以在其它标识符中插入使用; 
 
<example> 举例说明,通常与<code>配套使用;
<example> 以下示例说明如何调用Add方法:
<code>
class MyClass
{
public static int Main()
{
return Add(1+2);
}
}
</code>
</example>
可以在其它标识符中插入; 
 
<paramref> 在其它地方引用一个入口参数
<paramref cref=”a>请注意,这是一个整型参数</paramref> 

四. 配置

4.1 Doxygen工作目录

请选择一个已存在的非中文路径的文件夹,如下图:

image

4.2 Wizard 向导

      4.2.1 Project 项目

image

      4.2.2 Mode 模式

image

 

      4.2.3 Output 输出

将With search function的钩去掉

image

plain HTML,为下图一,with navigation panel为下图二

image   image

      4.2.4 Diagrams 图表

image

(Use built-in class diagram generator)将使用内置的生成功能生成每个类的类图,只有一个类是不为生成的。

如果需要更加大的功能比如类继承体系图请选择第三项(Use dot tool from the GraphViz package)需要安GraphViz。

4.3 Export 导出

      4.3.1 Project  项目

OUTPUT_LANGUAGE选择chinese TAB_SIZE是Tab的长度

image

image

      4.3.2 Build 构建

默认是会生成public方法,这里也选择EXTRACT_ALL。它保证输出所有public方法及project方法,EXTRACT_STATIC是生成静态方法。

 

image

      4.3.3 Input 输入

Input为输入目录,支持多个目录,我们可以放入项目目录和include目录,下面的Exclude是忽略目录与文件,可自行添加。

image

      4.3.4 Index 索引

选择ALPHABETICAL_INDEX,类中将有一个组合类型索引项。

image

生成的索引如下图所示

image

      4.3.5 HTML

如果你之前选择了(prepare form compressed HTML(.chm))这里抽GENERATE_HTMLHELP项会是选择状态,它下面的CHM_FILE填写你的CHM文档的名字(要加上.chm)。HHC_LOCATION则选择你的HTML Help WorkShop安装目录下的HHC程序,一般会在C:/Program Files (x86)/HTML Help Workshop/hhc.exe。选择TOC_EXPAND会生成左边的树目录。

image

      4.3.6 Dot

如果你选用内置的生成功能(Use build-in class diagram generator)此时CLASS_DIAGRAMS会是选择状态,而HAV_DOT是未选择状态,如果你选择用GraphViz的dot工具生成(Use dot tool from the GraphViz package)情况则相反,请你选择上CLASS_DIAGRAMS。此时你需要设置下面的DOT_PATH为GraphViz的安装目录,否则将无法生成。

另外以下选项选择则生成对应的图,不选择则不生成。

CLASS_GRAPHS                   类图

COLLABORATION_GRAPH      协作图

GROUP_GRAPHS                   组图

UML_LOOK                           是否UML外观

INCLUDE_GRAPH                   include

INCLUDED BY GRAPH             被include

CALL_GRAPH                        调用

CALLER_GRAPH                    被调用

DIRECTORY_GRAPH               目录图

GRAPHICAL_HIERARCHY        继承体系图

image

五.Run 运行

配置好后中进入Run选项卡单击 Run Doxygen 即开始生成,等待生成完毕后点击 “Show HTML output

image

六.HTML效果图

 

image 

imageimage

image

七.CHM效果图

imageimage

分享一下我的Doxygen配置文件:http://pan.baidu.com/s/1hqh5Clm

八.提醒

提醒一下,如果是WIN8的操作系统,建议设置dot的兼容性,并以管理员身份运行,否则一直会弹出dot停止运行的警告框

image


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/3842236.html,如需转载请自行联系原作者



相关文章:

  • [喵咪大数据]Hadoop集群模式
  • The working copy is locked due to previous error
  • iOS推送Tips
  • mysql5.7二进制编译包的安装
  • 笨办法31做出决定
  • SQL PRIMARY KEY 约束
  • 串口工具
  • python计算器
  • 怎样实现高质量发展(展望2018)
  • 阮一峰JS基础读后感
  • 图像缩放算法【转】
  • 回到网易后开源APM技术选型与实战
  • Firefox Quantum支持跨浏览器插件架构
  • 第 196 章 X Terminal
  • latex-参考文献在子文件夹
  • 30秒的PHP代码片段(1)数组 - Array
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Android组件 - 收藏集 - 掘金
  • Create React App 使用
  • Docker容器管理
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • If…else
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Javascript弹出层-初探
  • Java比较器对数组,集合排序
  • Js基础——数据类型之Null和Undefined
  • Mybatis初体验
  • nodejs实现webservice问题总结
  • Rancher-k8s加速安装文档
  • Spark RDD学习: aggregate函数
  • vue数据传递--我有特殊的实现技巧
  • 二维平面内的碰撞检测【一】
  • 服务器之间,相同帐号,实现免密钥登录
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 京东美团研发面经
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 区块链分支循环
  • 使用 QuickBI 搭建酷炫可视化分析
  • 消息队列系列二(IOT中消息队列的应用)
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #NOIP 2014# day.2 T2 寻找道路
  • #传输# #传输数据判断#
  • #单片机(TB6600驱动42步进电机)
  • (30)数组元素和与数字和的绝对差
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (强烈推荐)移动端音视频从零到上手(上)
  • (转)3D模板阴影原理
  • (转)c++ std::pair 与 std::make
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .bat批处理(一):@echo off
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET开发人员必知的八个网站
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?