Visual StudioでXMLコメントが見つからないという警告を無効にする


198

500以上のMissing XML Comment警告があるプロジェクトがあります。XMLコメント機能を削除したり、空のコメントスニペットをどこにでも貼り付けたりできることはわかっていますが、このタイプのすべての警告を無効にする1つの変更を加えることができる一般的な解決策を好みます。

私が今やっていることは

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

または

#pragma warning disable 1591

それが可能であるかどうかだけに興味がありました。


3
実際の質問は何ですか?XMLコメントが欠落しているときに生成される警告を無効にする別の方法を知りたいですか?プロジェクトのプロパティで[ビルド]タブに変更し、[XMLドキュメントファイル]をオフにします。ただし、警告を抑制しないで、不足しているドキュメントを追加することをお勧めします。
Gorgsenegger、2011

それは完全に正しいですが、私がこれに慣れていないので、1つの場所からこれを解決できるかどうかに興味がありました。
Nivid Dholakia

これらの関連質問が役立つことがあります。 stackoverflow.com/questions/11444631/...の stackoverflow.com/questions/3630282/...
Mightymuke

1
警告は、他のアセンブリから見えるメンバーに対してのみ表示されます。多くの場合、人々publicは正当な理由なしにクラス(およびインターフェース、列挙型など)を作成します。その場合、最も簡単な(そして私の意見では良い)修正は、最も外側の囲み型から単語を削除するpublic(またはinternal、優先するスタイルに応じて、冗長なキーワードで置き換える)ことです。その後、このタイプとそのメンバーに関するすべてのCS1591警告が消えます。もちろん、いくつかのタイプを維持する必要があるかもしれませんpublic。ただし、その場合は、公開部分を適切に文書化する必要があるのは当然です。
Jeppe Stig Nielsen

回答:


318

上記で示唆したように、私はこれらの警告を無視(抑制)する必要があるとは一般的に思いません。要約すると、警告を回避する方法は次のとおりです。

  • プロジェクトを変更することで警告を抑制しますProperties> Build> Errors and warnings> Suppress warnings1591を入力することにより、
  • XMLドキュメントタグを追加します(GhostDocはそのために非常に便利です)。
  • コンパイラオプションを介して警告を抑制します
  • チェックを外し、「XMLドキュメントファイル」プロジェクトのチェックボックスProperties> Build>Output
  • #pragma warning disable 1591それぞれのファイルの上部と#pragma warning restore 1591下部に追加

178
GhostDocは使用しないでください。コメントがメソッド名から推測できる場合は、人間がよりよく推測できます。これによりゼロの値が追加されます。その時間は、よく名前が付けられたメソッドで自分自身を祝福することに費やされるでしょう。
JRoughan 2012年

24
GhostDocは、必要なパラメーターのリストと戻りタグ(メソッドがvoidでない場合)をすばやく追加するのに役立ちます。私はそれを使用し、気に入っています。また、他の人も使用しています。ただし、概要の説明には多少の編集が必要な場合もありますが、そのような場合はほとんどの自動化に役立ちます。
Gorgsenegger、2012

32
プレースホルダーを追加するだけなら、少し時間を節約できますが、開発者が生成されたテキストを残すコードベースの数は、それを使用するのに十分に成熟していないと考えています。コメントは、自己文書化されていないコードにとっては(多くの場合必要です)松葉杖であり、ショートカットを提供することにより、このツールは世界のコードにマイナスの純利益をもたらします。
JRoughan 2012

25
@JRoughan:私は完全に同意します。最悪の部分は、最終的にコードを適切に文書化する時間を見つけたときに、これらのツールを使用すると、実際の文書の範囲がどの程度徹底されているかを知ることができなくなります。ドキュメントの適用範囲を計算するツールは、常に100%を読み取ります。したがって、文字通りすべての XMLコメントを読み取り、コードを文書化するのに十分かどうかを評価するという精神的に疲れるタスクを実行する必要があります。大規模なプロジェクトでこれを行ったので、私はあなたに言うことができます、それはまったく楽しくありません。人をください!これらの自動ドキュメントツールを使用しないでください。
HiredMind 2012年

36
@Gorgsenegger:この場合ではありません。欠陥のあるツールではなく、コンセプト全体です。VS2012は、必要に応じて、標準化されたXMLコメントにメソッド/パラメータースタブを追加します。しかし、単にメソッド名のより長いバージョンであるコメントを追加し、それをドキュメンテーションと呼ぶのは、単なる視覚的な混乱です。
HiredMind 2013年

74

警告を無効にします。プロジェクトのプロパティに移動します(プロジェクトを右クリックし、コンテキストメニューから[プロパティ]を選択します)[ビルド]タブに移動します ここに画像の説明を入力してください

1591を[警告を非表示]テキストボックスに追加します。 ここに画像の説明を入力してください


4
カンマ区切りのリストを持つチャームのように機能します: "S125、CS1591、S1172"。ビルド後、警告は消えました。
AFD、2017年

9
質問に答えていただき、警告を抑制するかどうかについて講義を行わないことに感謝します。
Dal

31

プロジェクトの.csprojファイルを変更して<noWarn>1591</noWarn>、最初の内にタグを含めることもできます<PropertyGroup>。もともとからここアレクサンドル・ブクルの記事

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    ...
    <NoWarn>1591</NoWarn>
  </PropertyGroup>
  ...
</Project>

3
これは、今日の答えになるはずです。
Edgar Salazar、

3
同意した。ほとんどの回答は、Visual Studio Codeなどの他のエディターでは機能しません。
Krzysztof Czelusniak

9

プロジェクトのプロパティに移動し、XMLドキュメントの生成オプションをオフにします。

XMLドキュメントファイルのチェックを外します

再コンパイルすれば警告は消えます。


2
これは、XMLドキュメントを生成する必要がなく、XMLコメントが検証されないことを気にしない限り、良いアプローチです。
キース

1
自動生成されないファイルからの警告を保持したい場合、これは機能しません。警告のサブセットを取り除くためだけにすべての警告を削除することは、私には少しやり過ぎに思えます。さらに、ほとんどの企業では、自動生成されたコードを含まないすべてのファイルに実際にXMLコメントを作成するのが一般的です。また、ユーザーは単にXMLコメント機能を削除しないだけの解決策を求めたので、これは質問に答えません。
SubliemeSiem

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コメントの警告を有効にするだけですべて表示されます。また、自動生成されたコードだけを無効にするオプションはありません。そのため、コードを再生成する必要があるときに省略されます。
ケルスキー

プロジェクトのプロパティの下にCode Analysis、オプションがありますSupress results from generated code。各コードの再生成後にマクロを再実行する必要があることは、実際にはソリューションのIMOではありません。上記のオプションが機能しない場合は、コードジェネレーターを調整して、代わりにプラグマディレクティブを自動的に追加できますか?
ラウジン、2013年

@Laoujinはコメントに感謝しますが、すでに述べたように、この解決策も好きではありません。反対票の理由がわかりません。言及している設定を使用しましたが、成功しませんでした。WebServiceインポートのソリューションを試してみませんか?
Kjellski 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.