一、简介

  GhostDoc是Visual Studio的一个免费插件,可以为开发人员自动生成XML格式的注释文档。

  二、下载

  需要的朋友可以去这里下载,填个Email地址就可以下了:GhostDoc下载地址

  三、安装

  下载安装完成后,可以在Visual Studio的工具菜单下找到GhostDoc的身影。

  

  在第一次使用时,会要求设置快捷键,默认的是Ctrl+Shift+S,如果这和你设置的快捷键有所冲突的话,可以在选择的下拉列表里另外选择一个。

  GhostDoc使用的优点自然是可以快速生成注释,提高开发效率,但是缺点也不少,首先她生成的注释都是英文,难免有时看的会不顺眼,而且有时会无法生成准确的注释,原因在于 GhostDoc生成注释的质量很大程度上取决于标识符命名的质量,比如方法用Pascal命名法,变量用Camel命名法等,所以使用GhostDoc也可以变向的检查一下你的命名是否合理,是否足够见名之意。

  如果你的类成员是用于实现接口或重写基类的成员,GhostDoc会使用既存的文档,不论这些接口或基类来自何处,如果没有既存的文档可用,GhostDoc会试着”猜测”如何为你生成注释,当然准确性可能就要看RP了。。。

  四、使用

  1、如果无法识别出变量的名字,GhostDoc就只会生成summary的标签,此时光标会移到空白的注释内容上:

  

  2、有时生成的注释会不准确,或者不符合个人的习惯:

  

  3、如果命名合理,当然还是能够准确的生成注释的:

  

  五、自定义配置

    除了简单的使用之外,还可以去GhostDoc中去进行自定义配置:

  

  配置的方法在安装目录下有一个GhostDoc的帮助文档,可以按照文档进行详细设置,这里就简单举个例子好了:

  1、先说最后一个Options选项卡,因为感觉比较实用有些,这里可以自动生成附加注释,这里有一个CustomText的文本框,这里既可以输出自己想要的注释,也可以点击旁边的按钮使用系统已定义的宏变量,如下所示:

  

    这样生成的注释如下:

  

    呵呵,感觉不错。。  

  2、下面说说第一个“规则”选项卡,也是最重要的一个,这里随便点开一个有代表性的:

  

  在描述可以看到这个规则会检测返回的一个以can开头的布尔值,下面是返回的模板和生成的summary注释模板,这里有着最高优先级的会出现在第一个,如果没有匹配第一个的就依次向下查找。

  这里可能是配置最复杂但也需求最多的地方,就以添加一个简单的个性方法为例吧:

  在Methods上点击Add,然后随便填入一个你喜欢的名字,随后进入Method配置:

  

  配置完成后,可以在下面进行个简单的测试。

  随后进入type配置:

  

  需要的还可以进行参数配置,方法都是大同小异的。

  随后配置summary标签的模板,比如:

  

  或者可以点击后面的按钮选择系统自定义的宏。

  配置好了,下面来看看结果:

  

  得到了我们想要的结果。。^_^

  3、第二个选项卡是缩写词的设置,这里指的是GhostDoc会尝试检测的首字母缩写,比如BuildHtmlText()方法中的Html会被解释成HTML,但其只自动处理辅音字幕,而其他的词则必须在这个对话框选项卡的配置表进行。

  比如:

  

    随后在规则中添加UML,重新生成注释如下:

  

  4、"Of the"规则:比如这里定义了size,那么类似"FileBufferSize"的词就会注释成"Size of the file buffer",貌似俺没有啥需要自定义的了。。。

  5、"No the" Word:在GhostDoc创建注释时会在标识名前创建一个the,而这个选项卡的列表中显示的内容则不会创建,效果如下:

    没有添加规则时:

  

    添加myx进入此规则,重新生成注释:

  

    这个貌似有些无关痛痒,估计也就老外也会对这个the有些在意,所以才整了这么一个规则。。。

  六、其他技巧示例

  GhostDoc会自动检测到继承和重写的方法注释,这也大大简化了操作。

  例一:继承

  这里定义一个简单的属性,看看注释的效果:

  

  再看看重写时注释的效果:

  

  哈哈,已经可以得到我们之前注释的内容了。。。

  这里需要注意的是:必须使用summary注释标签,简单的 // 注释GhostDoc是不会理睬的。。。

  例二:重写

  如果你要硬说GhostDoc不能生成中文的注释,那也是不对的,其实如果你装的是中文版的VS,那么完全是可以生成中文的注释的,比如这里我们

继承了System.Web.UI下面的ControlBuilder类,并准备重写HtmlDecodeLiterals()方法,先看一下VS现在的智能提示:

  现在生成注释,看看效果:

  不错不错,注释非常标准,就和手写的一模一样的。。

  好了,上面就是项目中按对GhostDoc这个Visual Studio小插件使用的情况,以后要是有机会搞外包,这东西估计用途可能会更大,继续努力吧。。。^_^

文件下载地址:

http://files.cnblogs.com/files/ppinfo/GhostDoc.part1.rar
http://files.cnblogs.com/files/ppinfo/GhostDoc.part2.rar
http://files.cnblogs.com/files/ppinfo/GhostDoc.part3.rar

ghostDoct 使用 (转 http://www.cnblogs.com/RockyMyx/archive/2010/04/20/Project-Route-Using-GhostDoc.html)的更多相关文章

  1. http://www.cnblogs.com/yycxbjl/archive/2010/04/20/1716689.html

    http://www.cnblogs.com/yycxbjl/archive/2010/04/20/1716689.html PS: 开发工具 VS2010, 所有工程都为Debug状态,本人刚接触 ...

  2. http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html

    http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html

  3. 【HTML】HTML特殊符号【转http://www.cnblogs.com/web-d/archive/2010/04/16/1713298.html】

    HTML特殊字符编码大全:往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字.下面就是以字母或数字表示的特殊符号大全.                   ...

  4. Linux JDK 安装及卸载 http://www.cnblogs.com/benio/archive/2010/09/14/1825909.html

    参考:http://www.cnblogs.com/benio/archive/2010/09/14/1825909.html

  5. http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html

    http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html

  6. http://www.cnblogs.com/wzh206/archive/2010/03/21/1691112.html

    http://www.cnblogs.com/wzh206/archive/2010/03/21/1691112.html

  7. http://www.cnblogs.com/huangcong/archive/2010/06/14/1757957.html

    http://www.cnblogs.com/huangcong/archive/2010/06/14/1757957.html http://www.cnblogs.com/langtianya/a ...

  8. http://www.cnblogs.com/fczjuever/archive/2013/04/05/3000680.html

    http://www.cnblogs.com/fczjuever/archive/2013/04/05/3000680.html

  9. android权限大全转http://www.cnblogs.com/classic/archive/2011/06/20/2085055.html

    android权限大全转http://www.cnblogs.com/classic/archive/2011/06/20/2085055.html 访问登记属性 android.permission ...

随机推荐

  1. 【PHP入门到精通】:Ch05:字符串处理

    Ch05: 字符串简介 5.1 字串说明 字符串是指由>=0个字符构成的一串字符,所以叫字符串.这里所说的字符主要包括以下几种类型:数字类型:如1, 2, 3, 4等.字母类型:如果a, b, ...

  2. IRequiresSessionState和IReadOnlySessionState应用上的一些差异

    在调用ashx时,如果需要应用Session,则必须继承接口 IRequiresSessionState,IReadOnlySessionState,但根据字面,可以知道 IRequiresSessi ...

  3. 改进duilib的richedit控件的部分功能

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41208207 如果要使用透明异形窗体功能,首先要改进duilib库让他本 ...

  4. js 判断页面是否加载完成

    javascript代码如下: document.onreadystatechange = subSomething; //当页面加载状态改变的时候执行这个方法 function subSomethi ...

  5. C++ 串

    ♣ string 的基类basic_string中没有虚函数,它无意成为基类.更像是为了处理字符相关的问题而专门提供的一个工具及操作方法.如:想要在一个字符串str1中查找str2,没必要每次都去写K ...

  6. JavaScript高级程序设计(第三版)第四章 变量,作用域和内存问题

    JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型值和引用类型值具有以下特点: 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中: 从一个变量向另一个变量复制 ...

  7. PySpark操作HBase时设置scan参数

    在用PySpark操作HBase时默认是scan操作,通常情况下我们希望加上rowkey指定范围,即只获取一部分数据参加运算.翻遍了spark的python相关文档,搜遍了google和stackov ...

  8. HDU5874:Friends and Enemies

    题目链接: Friends and Enemies 分析: 是一道想法题,我们假设x个人互相敌对,然后有y个人与这x个人都是朋友,而这y个人互相敌对. 则有 x+y=m x*y<=n 举个例子: ...

  9. Principles of good RESTful API Design 好的 RESTful API 设计

    UPDATE: This post has been expanded upon and converted into an eBook. Good API design is hard! An AP ...

  10. 一个介绍webrtc的国外网址

    http://www.html5rocks.com/en/tutorials/webrtc/basics/