Visual Studio Eksik XML Yorum Uyarısını Devre Dışı Bırakma


199

500'den fazla Missing XML Commentuyarı içeren bir projem var . XML Yorum özelliğini kaldırabilirim ya da her yere boş yorum parçacıkları yapıştırabilirim, ancak bu tür tüm uyarıları devre dışı bırakan bir değişiklik yapabileceğim genel bir çözümü tercih ederim.

Şu an yaptığım şey

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

veya

#pragma warning disable 1591

sadece mümkün olup olmadığını merak ediyordu.


3
Asıl soru nedir? XML yorumları eksik olduğunda oluşturulan uyarıları devre dışı bırakmanın başka bir yolunu bilmek ister misiniz? Projenin özellikleri "Oluştur" sekmesine değiştirin ve "XML belge dosyası" nın işaretini kaldırın. Ancak, uyarıları bastırmamayı, eksik belgeleri eklemenizi öneririm.
Gorgsenegger

Bu kesinlikle doğrudur, ancak ben bu konuda yeni olduğum için bunu bir yerden nasıl çözebiliriz diye merak ediyordum.
Nivid Dholakia


1
Uyarı yalnızca diğer montajlar tarafından görülebilen üyeler için görünür. Çoğu zaman insanlar publiciyi bir sebep olmadan sınıflar (ve arayüzler, numaralar vb.) Bu durumda, kolay (ve bence iyi) bir düzeltme, kelimeyi en dıştaki kapatma türünden kaldırmak public(veya internaltercih edilen stile bağlı olarak gereksiz bir anahtar kelimeyle değiştirmek ). Sonra bu tip ve üyeleri ile ilgili tüm CS1591 uyarıları kaybolur. Tabii ki hala bazı türleri tutmak zorunda kalabilirsiniz public. Ancak bu durumda, ortak kısımlarını düzgün bir şekilde belgelemeniz gerekir.
Jeppe Stig Nielsen

Yanıtlar:


318

Yukarıda önerildiği gibi, genel olarak bu uyarıların göz ardı edilmesi (bastırılması) gerektiğini düşünmüyorum. Özetlemek gerekirse, uyarının etrafındaki yollar:

  • Projeyi değiştirerek uyarıyı bastırmak Properties> Build> Errors and warnings> Suppress warnings1591 girerek
  • XML dokümantasyon etiketlerini ekleyin ( GhostDoc bunun için oldukça kullanışlı olabilir)
  • Derleyici seçenekleriyle uyarıyı bastırın
  • İşaretini kaldırın projesinde "XML belgesi dosyası" onay kutusu Properties> Build>Output
  • #pragma warning disable 1591İlgili dosyanın üstüne #pragma warning restore 1591ve altına ekleyin

179
Lütfen, lütfen GhostDoc kullanmayın. Bir yöntem yöntem adından çıkartılabilirse, bir insan tarafından daha iyi anlaşılabilir. Bu sıfır değeri ekler. O zaman kendinizi iyi adlandırılmış bir yöntemle tebrik ederek daha iyi harcanırdı.
JRoughan

24
Katılmıyorum, GhostDoc hızlı bir şekilde gerekli parametre listesi ve bir dönüş etiketi (yöntem geçersiz değilse) eklemek için bana yardımcı olur. Kullanıyorum ve beğendim ve bunu yapan birkaç kişiyi de tanıyorum. Bununla birlikte, özetteki açıklamanın bazı düzenlemelere ihtiyaç duyabileceği doğrudur, ancak bu, bu gibi durumlarda çoğu otomasyon için önemlidir.
Gorgsenegger

32
Yaptığı tek şey yer tutucular eklemek olsaydı, bu küçük bir zaman tasarrufu olurdu, ancak geliştiricilerin oluşturulan metni bıraktığı yerde gördüğüm kod tabanlarının sayısı, onu kullanacak kadar toplu olarak olgun olmadığımızı düşündürüyor. Yorumlar kendi kendini belgelemeyen kod için (genellikle gerekli) bir koltuk değneği ve kısayollar sunarak bu aracın dünya kodundan olumsuz bir faydası var.
JRoughan

25
@JRoughan: Tamamen katılıyorum. En kötü yanı, nihayet kodunuzu düzgün bir şekilde belgelemek için zaman bulduğunuzda, bu araçlar gerçek dokümantasyon kapsamınızın ne kadar kapsamlı olduğunu söylemeyi imkansız kılar. Dokümantasyon kapsamını hesaplayan herhangi bir araç her zaman% 100'ü okuyacaktır. Yani kelimenin tam anlamıyla, her XML yorumunu okumak ve kodu belgelendirmenin yeterli olup olmadığını değerlendirmek için zihinsel olarak yorucu bir görevden geçmelisiniz . Bunu büyük bir projede yaptıktan sonra, size söyleyebilirim, hiç eğlenceli değil. Lütfen insanlar! Bu otomatik dokümantasyon araçlarını kullanmayın!
HiredMind

36
@Gorgsenegger: Bu durumda değil. Kusurlu bir araç değil, tüm konsept. VS2012, standart XML yorumlarına, istediğiniz şeyse yöntem / parametre saplamaları ekler. Ancak, yöntem adlarının yalnızca daha uzun sürümleri olan yorumların eklenmesi ve dokümantasyon olarak adlandırılması sadece görsel karışıklıktır.
HiredMind

74

Uyarıyı devre dışı bırakın: Proje özelliklerine gidin (Projenize sağ tıklayın ve içerik menüsünden Özellikler'i seçin) Derleme sekmesine gidin resim açıklamasını buraya girin

Uyarıları bastır metin kutusuna 1591 ekleyin resim açıklamasını buraya girin


5
Virgülle ayrılmış listelerle bir cazibe gibi çalışır: "S125, CS1591, S1172". Bir yapıdan sonra uyarılar kayboldu.
AFD

10
Soruyu cevapladığınız ve uyarıları bastırıp bastırmayacağınız konusunda ders vermediğiniz için teşekkürler!
Dal

31

Ayrıca projenizin .csprojdosyasını, <noWarn>1591</noWarn>birincinin içine bir etiket ekleyecek şekilde değiştirebilirsiniz <PropertyGroup>. Aslen Alexandru Bucur'un Makalesi

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

3
Bu şimdiki günlerin cevabı olmalı.
Edgar Salazar

3
Kabul. Yanıtların çoğu Visual Studio Code gibi diğer editörlerle çalışmaz.
Krzysztof Czelusniak

9

Proje özelliklerine gidin ve XML belgesi oluştur seçeneğinin işaretini kaldırın.

XML belge dosyasının işaretini kaldırın

Yeniden derleyin ve uyarılar ortadan kalkar.


2
XML belgelerini oluşturmanız gerekmediği ve XML yorumlarının doğrulanmayacağı sürece bu iyi bir yaklaşımdır.
Keith

1
Otomatik olarak oluşturulmayan dosyalardan gelen uyarıları korumak istiyorsanız bu çalışmaz. Bir uyarı alt kümesinden kurtulmak için tüm uyarıları kaldırmak benim için biraz abartılı görünüyor. Ayrıca, çoğu şirkette, otomatik olarak oluşturulan kod içermeyen tüm dosyalarda aslında XML yorumları oluşturmak yaygın bir uygulamadır. Ayrıca, kullanıcı sadece XML yorum özelliğini kaldırmayan bir çözüm istedi, bu da soruyu cevaplamıyor.
SubliemeSiem

4

Bu bir yorum olurdu ama sınırlama uyacak şekilde alamadım:

Yalnızca Reference.cs ve WebService içe aktarmaları için bunları devre dışı bırakmak isterim. Aslında bir dosya için bir makro kullanıyorum. Sadece dosyayı açın ve bu makroyu çalıştırın (VS2010'da test edilmiştir):

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

Bunu otomatik olarak yapmanın gerçekten bir yolu yok mu? Otomatik oluşturulan kod dosyayı her geçersiz kıldığında bunu yeniden yapmanız gerekir.


2
Bu uyarının otomatik olarak oluşturulan içerik için görünmemesi gerektiğini düşünüyorum, belki de projenin özelliklerinde ilgili ayarı kontrol etmeniz gerekecektir.
Gorgsenegger

1
Hayır, yalnızca XML-Comment uyarılarını etkinleştirerek gösterilir. Ve sadece otomatik olarak oluşturulan kod için devre dışı bırakma gibi bir seçenek yoktur. Bu nedenle, kodu yeniden oluşturmaya ihtiyaç duyduğunuzda snip.
Kjellski

Proje özellikleri altında Code Analysisbir seçenek vardır Supress results from generated code. Her kod yenilenmesinden sonra bir makroyu yeniden çalıştırmak zorunda kalmak gerçekten bir çözüm IMO'su değildir. Yukarıdaki seçenek sizin için işe yaramıyorsa, bunun yerine kod oluşturucu pragma yönergesini otomatik olarak eklemek için ayarlanabilir.
Laoujin

@ Yorumunuz için teşekkürler, ama bahsettiğim gibi bu çözümü de sevmiyorum. Aşağı oy için bir neden göremiyorum, bahsettiğiniz ayarı başarılı olmadan kullandım. WebService ithalatı için çözümünüzü deneme şansınız var mı?
Kjellski
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.