2011-11-02 110 views
132

我有一個項目,超過500個Missing XML Comment警告。我知道我可以刪除XML註釋功能,或在任何地方粘貼空的評論片段,但我更喜歡一個通用的解決方案,我可以進行一項更改,禁用此類型的所有警告。Visual Studio禁用丟失的XML註釋警告

我剛纔是把什麼

///<Summary> 
/// 
///</Summary> 

#pragma warning disable 1591 

只是好奇,如果有可能。

+3

實際問題是什麼?您想知道另一種方法來禁用XML註釋丟失時生成的警告嗎?在項目的屬性更改爲「生成」選項卡並取消選中「XML文檔文件」。不過,我建議不要壓制警告,但要添加缺少的文檔。 – Gorgsenegger

+0

這是絕對正確的,但只是好奇,如果我們可以從一個地方解決這個問題,因爲我是新手。 –

+0

這些相關的問題可能會有幫助: http://stackoverflow.com/questions/11444631/how-to-disable-a-particular-compiler-warning-for-a-particular-file HTTP: //stackoverflow.com/questions/3630282/vs2010-autogenerated-files-and-xml-documentation – Mightymuke

回答

217

如上所述,總的來說,我不認爲這些警告應該被忽略(壓制)。總之,圍繞警告的方式將是:

  • 由進入1591
  • 添加XML文檔標記改變項目Properties>Build>Errors and warnings>Suppress warnings禁止警告(GhostDoc可以是很方便那)
  • 通過編譯器選項
  • 取消選中 「XML文檔文件」 複選框,在項目取消警告Properties>Build>Output
  • 添加#pragma warning disable 1591在各個文件的頂部和#pragma warning restore 1591底部
+112

請不要使用GhostDoc。如果可以通過方法名稱推斷評論,則可以由人類更好地推斷出評論。這增加了零值。那個時候用一個好的方法祝賀自己會更好。 – JRoughan

+18

我不同意,GhostDoc幫助我快速添加所需的參數列表和返回標籤(如果該方法不是無效的)。我確實喜歡它,並且我認識了不少其他人。然而,確實如此,摘要中的描述可能需要一些編輯,但這在這種情況下對大多數自動機制都是很重要的。 – Gorgsenegger

+19

如果它所做的只是添加佔位符,它將是一個很好的小節省時間,但是我已經看到開發人員離開生成的文本的代碼庫數量使我們認爲我們只是不夠成熟,無法使用它。評論對於不是自我記錄的代碼來說是一個(通常必需的)柺杖,並且通過提供快捷方式,這個工具對世界代碼具有負面的淨收益。 – JRoughan

4

這本來是一個評論,但我無法得到它適合的限制:

我很想將其禁用僅用於Reference.cs和WebService導入。其實我正在使用一個宏來做一個文件。只需打開文件並執行該宏(在VS2010中測試):

Sub PragmaWarningDisableForOpenFile() 
    DTE.ActiveDocument.Selection.StartOfDocument() 
    DTE.ActiveDocument.Selection.NewLine() 
    DTE.ActiveDocument.Selection.LineUp() 
    DTE.ActiveDocument.Selection.Insert("#pragma warning disable 1591") 
    DTE.ActiveDocument.Selection.EndOfDocument() 
    DTE.ActiveDocument.Selection.NewLine() 
    DTE.ActiveDocument.Selection.Insert("#pragma warning restore 1591") 
    DTE.ActiveDocument.Save() 
End Sub 

實際上沒有辦法自動執行此操作嗎?每次自動生成的代碼覆蓋文件時,您都必須重做此操作。

+2

我認爲這個警告不應該顯示自動生成的內容,也許你將不得不檢查項目的屬性中的相應設置。 – Gorgsenegger

+1

不,所有這些都是通過啓用XML-Comment警告來顯示的。並且沒有這樣的選項可以僅爲自動生成的代碼禁用它。因此,當您需要重新生成代碼時會被剪切掉。 – Kjellski

+0

在項目屬性「代碼分析」下,有一個選項「生成代碼的超值結果」。在每次代碼重新生成後重新運行一個宏並不是真正解決IMO的問題。如果上面的選項不適合你,也許可以調整代碼生成器來自動添加編譯指示嗎? – Laoujin

6

進入項目屬性並取消選中生成XML文檔選項。

Uncheck XML documentation file

重新編譯和警告應該消失。

+1

只要您不需要生成XML文檔,並且您不介意XML註釋將不會被驗證,這是一個很好的方法。 – Keith

+0

如果您想保留不是自動生成的文件的警告,則這不起作用。刪除所有警告只是爲了擺脫一部分警告似乎對我有點矯枉過正。此外,在大多數公司中,通常的做法是在所有不包含自動生成代碼的文件中實際創建XML註釋。此外,用戶要求提供一種不會簡單地移除XML註釋功能的解決方案,因此這不能解決問題。 – SubliemeSiem

33

禁用警告: 轉至項目屬性(右鍵點擊你的項目,然後從上下文菜單中選擇Properties) 轉到Build標籤 enter image description here

添加1591到禁止警告文本 enter image description here

+2

像逗號分隔的列表一樣起作用:「S125,CS1591,S1172」。建造之後,戰爭消失了。 – AFD