一、簡介
GhostDoc是Visual Studio的一個免費插件,可以為開發人員自動生成XML格式的注釋文檔。
二、下載下傳
三、安裝
下載下傳安裝完成後,可以在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現在的智能提示:
現在生成注釋,看看效果:
不錯不錯,注釋非常标準,就和手寫的一模一樣的。。
QQ:519841366
本頁版權歸作者和部落格園所有,歡迎轉載,但未經作者同意必須保留此段聲明,
且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利