2010-01-08 83 views
44

我們目前使用DoxyGen來編寫用C/C++,PHP和Java編寫的代碼。爲了有一個一致的環境,將它用於C#文檔也是很好的。Visual Studio與DoxyGen的文檔,或者我們應該使用別的東西?

但是,我們想知道:

  • 你看到生成的文檔的佈局和結構比使用其他doxygen的東西有什麼優勢?我們正在爲有C#和.NET平臺經驗的外部開發人員生成文檔。也許他們習慣於某種文檔格式?
  • DoxyGen如何與Visual Studio集成?有沒有什麼能夠從IDE內單擊一代文檔?
  • 是否有其他文檔系統與Visual Studio更加集成?

回答

43

在Visual Studio中記錄C#代碼的默認方式是XML documentation comments。在我看來,這是去C#代碼的最好方式,因爲對此的支持已經集成在Visual Studio中(註釋標記自動完成,關於缺少或錯誤拼寫參數的警告......)。以電子文檔的方法,只是在方法體前輸入三個斜槓(///)和Visual Studio將插入一個空的註釋模板讓你填,像這樣:

/// <summary> 
/// 
/// </summary> 
/// <param name="bar"></param> 
private void Foo(int bar) 
{ 
    // ... 
} 

您可以配置Visual Studio來生成一個來自所有評論的XML文件,然後將被輸入到文檔生成器,如​​。如果你想使用Doxygen,這是沒有問題的,因爲它支持解析XML註釋。

總結:我建議使用XML註釋,而不是C#代碼的特殊Doxygen註釋。這樣你有所有的選擇。您可以使用組織熟悉的標準Doxygen佈局生成文檔(因爲Doxygen支持XML註釋),並且您可以選擇以.NET開發人員已知的格式(Sandcastle和Sandcastle Help FileBuilder)生成文檔。

啊,而且也儘量GhostDoc ...

+3

我愛GhostDoc - definetly值得嘗試! – 2010-01-14 16:30:06

+1

VS無法爲網站和Web服務的XML文件,恕我直言,在這個時代,使微軟的方法沒用對我做什麼。 DoxyGen是要走的路。 – cdonner 2010-02-19 03:13:16

+2

誰是真正聰明的人誰決定使用單行註釋的文檔評論? – alternative 2011-04-10 22:02:35

0

Visual Studio中不具有集成的文件系統。

如果你想留在其他語言一致,您可以嘗試使用的Doxygen與Doxycomment外接程序的Visual Studio。

對於C#或.NET文檔,一些工具存在,最常用的(據我所知)是Sandcastle

最後,您可以檢查此blog entry提供一些C#特定標籤轉換成Doxygen的那些小的Python腳本。

+2

你叫什麼Visual Studio的XML文檔? – 2010-01-08 16:41:29

+0

它是XML文檔,而不是像Doxygen生成的文檔那樣的可瀏覽文檔。在使用之前,您必須使用Sandcastle進行處理。 – 2010-01-08 22:21:12

23

有對文檔幾種選擇:

  • 免費的Microsoft方式。使用DocXml文檔註釋,然後使用Sandcastle或類似的工具來構建MSDN樣式的文檔。這樣做的好處是,Visual Studio可以識別文檔(語法對註釋進行語法分析),並且文檔可以被Intellisense系統即時拾取(所以如果將鼠標指針懸停在您調用的方法上,工具提示將顯示總結和您在文檔註釋中輸入的參數信息)

  • 自由Doxygen的系統。這更易於使用且更靈活,但Visual Studio不支持,因此您失去了智能感知和語法着色的優勢。另一方面,Doxygen會解析DocXml格式,因此您可以通過使用DocXml格式與Doxygen生成外部幫助來獲得兩全其美的效果。

  • 商業產品,如DocumentX,它允許你在一個所見即所得的窗口中編輯文檔。

我會建議用DocXml意見和Doxygen的開始產生外部幫助,因爲這是上手最便宜和最簡單的方法,並保留Visual Studio中的所有最佳功能(智能感知等)。

我還建議你看看我的加載項,Atomineer Pro Documentation,這使得在VS中DocXml,Doxygen,Qt或JavaDoc格式評論的生成和更新變得更快更容易 - Doxygen和Sandcastle的理想補充。

+7

是不是「微軟免費方式」有點矛盾呢? – 2010-01-08 18:28:59

+6

我的意思是,如果你正在使用Visual Studio,它不花費你任何東西使用內置在xmlDoc中的功能(而不是購買一個額外的第三方產品上手)。但無論如何,微軟都會生產大量的免費工具。 – 2010-01-08 20:24:36

+7

@EwanTodd XML文檔在C#Express(免費版)中也同樣適用。 – 2012-04-06 07:28:48

1

.NET開發人員用來在VS幫助使用MSDN般的文檔格式。最好直接集成在VS中,因爲它提供了一些獎勵功能,如F1幫助,過濾器,統一索引和TOC。已經提到了幾種工具。我會添加一個商業一鍵式解決方案,VSdocman

XML文檔註釋非常棒,因爲它們也會在智能感知和對象瀏覽器快速信息中自動使用。

+14

您應該透露您與VSdocman有關聯。 – Span 2012-05-18 03:44:22

+0

沒有提到你與VSdocman相關聯,刪除了你評論的可信度: -/ – 2015-07-07 08:29:09

13

Doxygen可以使用C#doc註釋(///)就好。正常編寫代碼並運行doxygen將其掃描爲獨立的html,chm和pdf文件。這是迄今爲止最通用,最簡單和無創的方法。

儘管doxygen沒有集成到visual studio中,但它帶有一個簡單的IDE,可以作爲自定義的外部工具輕鬆地編寫腳本。就我個人而言,我已將doxygen集成到我的構建腳本中,並且工作完美無瑕。

最後,doxygen的是跨平臺(這是一個優勢,如果你發現需要移植到單聲道)和比沙堡(包括安裝和運行)顯著更快。

這是doxygen的輸出爲C#代碼的一個〜1Mloc項目的例子:http://www.opentk.com/files/doc/annotated.html

+1

感謝您提供示例。這個例子使我避免了與Doxygen的時間浪費,因爲它生成的文檔確實不會讓我滿意:) – 2012-04-06 07:31:58

+1

鏈接已損壞。 – shawn1874 2017-12-28 18:56:26

相關問題