Visual Studio अक्षम XML टिप्पणी चेतावनी को निष्क्रिय करना


199

मेरे पास 500 से अधिक Missing XML Commentचेतावनियों के साथ एक परियोजना है । मुझे पता है कि मैं XML टिप्पणी सुविधा को हटा सकता हूं, या हर जगह खाली टिप्पणी स्निपेट पेस्ट कर सकता हूं, लेकिन मैं एक सामान्य समाधान पसंद करूंगा जहां मैं एक बदलाव कर सकता हूं जो इस प्रकार की सभी चेतावनियों को अक्षम करता है।

मैं अभी जो कर रहा हूं वह डाल रहा हूं

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

या

#pragma warning disable 1591

अगर यह संभव होता तो बस उत्सुकता थी।


3
असल सवाल क्या है? क्या आप XML टिप्पणियों के गुम होने पर उत्पन्न होने वाली चेतावनियों को अक्षम करने का एक और तरीका जानना चाहेंगे? प्रोजेक्ट के गुणों में "बिल्ड" टैब में बदलाव और "एक्सएमएल डॉक्यूमेंट फाइल" को अनचेक करें। हालाँकि, मैं सुझाव दूँगी कि चेतावनियों को दबाया न जाए बल्कि गुम हुए दस्तावेज़ों को जोड़ा जाए।
गोर्गेसेनेगर

यह पूरी तरह सही है लेकिन इस बात को लेकर उत्सुक था कि कैसे हम इसे एक जगह से हल कर सकते हैं क्योंकि मैं इसके लिए नया था।
नवल ढोलकिया

ये संबंधित प्रश्न मदद कर सकते हैं: stackoverflow.com/questions/11444631/… stackoverflow.com/questions/3630282/…
Mightymuke

1
चेतावनी केवल उन सदस्यों के लिए दिखाई देती है जो अन्य विधानसभाओं के लिए दिखाई देते हैं। अक्सर लोग publicबिना किसी अच्छे कारण के कक्षाएं (और इंटरफेस, एनम आदि) बनाते हैं । उस मामले में एक आसान (और मेरी राय में अच्छा) तय करना सबसे बाहरी घेरने के प्रकार से केवल शब्द को हटाना है public(या इसे एक निरर्थक internalकीवर्ड के साथ, पसंदीदा शैली पर निर्भर करता है)। फिर इस प्रकार और इसके सदस्यों के बारे में सभी CS1591 चेतावनी गायब हो जाती है। बेशक आपको अभी भी कुछ प्रकार रखने पड़ सकते हैं public। लेकिन उस मामले में यह उचित है कि आपको उनके सार्वजनिक भागों को सही ढंग से दस्तावेज करने की आवश्यकता है।
जेपी स्टिग नीलसन

जवाबों:


318

जैसा कि ऊपर सुझाव दिया गया है, सामान्य तौर पर मुझे नहीं लगता कि इन चेतावनियों को नजरअंदाज (दबा) किया जाना चाहिए। संक्षेप में, चेतावनी के आसपास के तरीके निम्न होंगे:

  • परियोजना को बदलने के द्वारा चेतावनी को रोकें Properties> Build> Errors and warnings> Suppress warnings1591 दर्ज करके
  • XML प्रलेखन टैग जोड़ें ( घोस्टडॉक उसके लिए काफी उपयोगी हो सकता है)
  • संकलक विकल्पों के माध्यम से चेतावनी को दबाएं
  • सही का निशान हटाएँ परियोजना में "एक्सएमएल फ़ाइल प्रलेखन" चेकबॉक्स Properties> Build>Output
  • जोड़े #pragma warning disable 1591संबंधित फ़ाइल के शीर्ष पर और #pragma warning restore 1591नीचे स्थित

178
कृपया, कृपया GhostDoc का उपयोग न करें। यदि किसी टिप्पणी को विधि नाम से अनुमान लगाया जा सकता है तो उसे मानव द्वारा बेहतर तरीके से अनुमान लगाया जा सकता है। यह शून्य मान जोड़ता है। उस समय को बेहतर तरीके से नामांकित पद्धति पर बधाई देने के लिए बेहतर होगा।
जुरघन

24
मुझे असहमत होना है, घोस्टडॉक मुझे जल्दी से पैरामाटर्स की आवश्यक सूची और एक रिटर्न टैग (यदि विधि शून्य नहीं है) जोड़ने में मदद करता है। मैं इसका उपयोग और इसे पसंद करता हूं, और मैं कुछ अन्य लोगों को भी जानता हूं जो यह भी करते हैं। हालांकि, यह सच है कि सारांश में विवरण को कुछ संपादन की आवश्यकता हो सकती है, लेकिन यह ऐसे मामलों में अधिकांश ऑटोमैटिस के लिए मायने रखता है।
Gorgsenegger

32
अगर यह सब किया गया था प्लेसहोल्डर्स जोड़ने के लिए यह एक अच्छा सा समय बचाने वाला होगा, लेकिन कोडबेस की संख्या मैंने देखी है जहां डेवलपर्स उत्पन्न पाठ छोड़ते हैं, हमें लगता है कि हम इसे उपयोग करने के लिए सामूहिक रूप से परिपक्व नहीं हैं। टिप्पणियाँ कोड के लिए एक (अक्सर आवश्यक) बैसाखी होती हैं जो स्व-दस्तावेजीकरण नहीं होती हैं और शॉर्टकट की पेशकश करके इस उपकरण का विश्व कोड पर नकारात्मक शुद्ध लाभ होता है।
JRouagan

25
@ जौघन: मैं पूरी तरह से सहमत हूं। सबसे खराब हिस्सा यह है, जब आपको अंततः अपने कोड को ठीक से दस्तावेज़ करने का समय मिलता है, तो ये उपकरण यह बताना असंभव बनाते हैं कि आपका वास्तविक दस्तावेज़ीकरण कितना गहन है। कोई भी उपकरण जो प्रलेखन कवरेज की गणना करता है वह हमेशा 100% पढ़ेगा। तो आपको शाब्दिक रूप से हर एक्सएमएल टिप्पणी को पढ़ने और मूल्यांकन करने के लिए मानसिक रूप से थका देने वाले कार्य से गुजरना होगा और यह कोड का दस्तावेजीकरण करने के लिए पर्याप्त है या नहीं। एक बड़े प्रोजेक्ट पर ऐसा करने के बाद, मैं आपको बता सकता हूं, यह बिल्कुल भी मजेदार नहीं है। कृपया लोग! इन ऑटो-प्रलेखन उपकरणों का उपयोग न करें!
HiredMind

36
@Gorgsenegger: इस मामले में नहीं। यह वह उपकरण नहीं है जो त्रुटिपूर्ण है, यह संपूर्ण अवधारणा है। VS2012 मानकीकृत XML टिप्पणियों के लिए विधि / पैरामीटर स्टब्स जोड़ता है, यदि आप चाहते हैं कि। लेकिन उन टिप्पणियों को जोड़ना जो केवल विधि नामों के लंबे संस्करण हैं और इसे दस्तावेज़ीकरण कहना केवल दृश्य अव्यवस्था है।
HiredMind

74

चेतावनी को अक्षम करें: प्रोजेक्ट गुण पर जाएं (अपनी परियोजना पर राइट क्लिक करें और संदर्भ मेनू से गुण चुनें) बिल्ड टैब पर जाएं यहां छवि विवरण दर्ज करें

1591 दबाएं चेतावनियाँ टेक्स्टबॉक्स में जोड़ें यहां छवि विवरण दर्ज करें


4
अल्पविराम से अलग सूचियों के साथ एक आकर्षण की तरह काम करता है: "S125, CS1591, S1172"। एक निर्माण के बाद चेतावनी गायब हो गई।
AFD

9
प्रश्न का उत्तर देने के लिए धन्यवाद और चेतावनियों को दबाने के लिए इस पर व्याख्यान नहीं देना चाहिए!
दाल

31

आप पहले के अंदर .csprojएक <noWarn>1591</noWarn>टैग को शामिल करने के लिए अपनी परियोजना की फ़ाइल को भी संशोधित कर सकते हैं <PropertyGroup>। मूल रूप से अलेक्जेंड्रू बुकुर के लेख से यहां

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

3
यह वर्तमान दिनों के लिए उत्तर होना चाहिए।
एडगर सालाज़ार

3
माना। अधिकांश उत्तर विज़ुअल स्टूडियो कोड जैसे अन्य संपादकों के साथ काम नहीं करते हैं।
Krzysztof Czelusniak

9

प्रोजेक्ट गुणों में जाएं और जेनरेट किए गए XML दस्तावेज़ विकल्प को अनचेक करें।

XML प्रलेखन फ़ाइल को अनचेक करें

रिकॉम्पाइल और चेतावनियों को दूर जाना चाहिए।


2
यह तब तक एक अच्छा तरीका है जब तक आपको XML डॉक्स जेनरेट करने की आवश्यकता नहीं होती है और आपको इस बात से ऐतराज नहीं है कि XML कमेंट्स को मान्य नहीं किया जाएगा।
कीथ

1
यदि आप उन फ़ाइलों से चेतावनी रखना चाहते हैं जो ऑटो-जनरेट नहीं हैं, तो यह काम नहीं करता है। चेतावनी के एक सबसेट से छुटकारा पाने के लिए सभी चेतावनियों को हटा देना मुझे थोड़ा सा भारी लगता है। इसके अलावा, ज्यादातर कंपनियों में, उन सभी फाइलों में एक्सएमएल टिप्पणी बनाना आम बात है, जिनमें ऑटो-जनरेट कोड नहीं होता है। साथ ही, उपयोगकर्ता ने एक समाधान के लिए कहा जो केवल XML टिप्पणी सुविधा को नहीं हटाता है, इसलिए यह प्रश्न का उत्तर नहीं देता है।
सबलीमेसिम

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 नहीं है। यदि ऊपर का विकल्प आपके लिए काम नहीं करता है, तो शायद कोड जनरेटर को स्वचालित रूप से इसके बजाय प्रज्ञा निर्देश जोड़ने के लिए समायोजित किया जा सकता है?
लाउजिन

आपकी टिप्पणी के लिए @Lajin धन्यवाद, लेकिन जैसा कि मैंने उल्लेख किया है मुझे यह समाधान पसंद नहीं है। मैं नीचता के लिए एक कारण नहीं देख सकता, मैंने उस सेटिंग का उपयोग किया है जिसका आप सफलता के बिना उल्लेख कर रहे हैं। किसी भी मौका आप WebService आयात के लिए अपने समाधान की कोशिश?
केजेल्स्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.