Visual Studio में नामकरण नियम उल्लंघन संदेशों से कैसे छुटकारा पाएं?


94

मैंने अभी विजुअल स्टूडियो 2017 स्थापित किया है। जब मैं एक मौजूदा वेबसाइट खोलता हूं, तो मुझे इस तरह के सभी चेतावनी संदेश मिलते हैं:

IDE1006 नामकरण नियम का उल्लंघन: ये शब्द ऊपरी मामले वर्णों से शुरू होने चाहिए: su_calc

कोड में इसे निम्नानुसार परिभाषित किया गया है:

[System.Runtime.InteropServices.DllImport("swedll32.dll")]
public static extern Int32 swe_calc(double tjd, int ipl, Int32 iflag, IntPtr xx, IntPtr serr);

यह मेरे ASP.Net नियंत्रणों के साथ भी होता है। ड्रॉपडाउनलिस्ट के एक उदाहरण के रूप में:

IDE1006 नियम का उल्लंघन

मैं विज़ुअल स्टूडियो के तहत इस प्रकार की चेतावनियों को कैसे समाप्त कर सकता हूँ?


7
निश्चित रूप से इस प्रतिक्रिया को वी.एस. 2017 नई सुविधाओं के साथ एक नया संस्करण है, और कभी-कभी ये बहुत आक्रामक शुरू कर सकते हैं। आपकी प्रतिक्रिया डिफ़ॉल्ट व्यवहार को समायोजित करने में मदद करेगी।
जिमी

3
बग जैसा लगता है। यह केवल पुराने प्रोजेक्ट्स के बारे में नहीं है, बल्कि नए लोगों के बारे में भी है, जो VS2017rc में बनाए गए हैं। VS कंट्रोल नाम बनाता है फिर इसे आक्रामक के रूप में
चिह्नित करता है

3
मुझे MSVS- जनरेटेड बटन क्लिक हैंडलर, "btnList_Click ()" के साथ इस 1006 त्रुटि का सामना करना पड़ा। दूसरे शब्दों में, MSVS2017 एक विधि के बारे में शिकायत कर रहा है जो उसने खुद बनाई है ! यह अचानक एक के बारे में शिकायत है नामकरण परंपरा है कि नेट 1.0 के बाद से चारों ओर हो गया है ! आह .. IDEAL समाधान #pragma warning disable IDE1006:। इसका लाभ यह है कि, चूंकि यह स्रोत कोड में है, यह स्वचालित रूप से प्रोजेक्ट-वाइड है (आपको किसी भी प्रति-वर्कस्टेशन MSVS सेटिंग्स को सिंक्रनाइज़ करने की आवश्यकता नहीं है)।
पल्सम ४

जवाबों:


140

यदि आप जाते हैं, तो यह एक नई विन्यास सुविधा है

विकल्प → पाठ संपादक → आपकी भाषा (मैंने C #) → कोड शैली → नामकरण

वहाँ मैं कैमल केस जोड़ने में स्टाइल्स को मैनेज करने गया (वहाँ पर लेकिन आपको इसे अपने चयन में जोड़ना होगा): "+" साइन पर जाएँ, फिर उसी के अनुसार अपना नियम जोड़ें।

महत्वपूर्ण : अपना समाधान बंद करें और इसे प्रभावी होने के लिए फिर से खोलें।

उदाहरण के लिए, मैं केवल निजी तरीकों के लिए ऊंट प्रकरण का उपयोग करता हूं। इसलिए मैं प्राइवेट मेथड चुनता हूं और आवश्यक स्टाइल को नया बनाता हूं जिसे मैंने "ऊंट केस" बनाया और इसे गंभीरता सुझाव के लिए सेट किया (मैंने इसे शीर्ष पर भी प्रचारित किया)।

बिल्ट इन सभी "सुझाव" भी हैं, ताकि आप केवल संदेश भी बंद कर सकें।


2
यह ठीक उसी नामकरण सम्मेलन है जिसे हम निजी तरीकों के लिए उपयोग करते हैं - धन्यवाद! अब मुझे बस इस बात पर काम करने की ज़रूरत है कि बिना किसी को बताए इस विकल्प को सभी के लिए कैसे सक्षम किया जाए ...
मैथ्यू वॉटसन

9
इन विकल्पों को प्राप्त करने का एक त्वरित तरीका है "त्वरित कार्य" प्रकाश बल्ब पर क्लिक करें, "फिक्स नाम उल्लंघन" पर होवर करें और "स्टाइल विकल्प बदलें" बटन पर क्लिक करें।
डैरन

5
मैंने बस नियमों को हटा दिया
पॉलिटेक्स्ट

2
ऐसी सेटिंग / नियमों / शैलियों को एक पूरी टीम के साथ साझा करने के लिए, इसका संदर्भ लें: stackoverflow.com/questions/11684457/…
kmote

5
विज़ुअल स्टूडियो 2019 रिलीज़ में संपूर्ण नामकरण सुविधा बगयुक्त और कार्यशील प्रतीत होती है।
गप्रेसलैंड

27

यदि आप इसे केवल कुछ फ़ाइलों या क्षेत्रों में दबाना चाहते हैं, तो आप निम्नलिखित का उपयोग कर सकते हैं:

#pragma warning disable IDE1006

// the code with the warning

#pragma warning restore IDE1006

2
यह शायद "आदर्श" समाधान है! यह पूरी टीम के लिए समस्या का समाधान करता है।
पल्सम ४

24

यदि आपको इन संदेशों से छुटकारा पाने की आवश्यकता है तो आप उन्हें दबा भी सकते हैं।

यहां छवि विवरण दर्ज करें


1
उन्हें 'इन सोर्स' बनाम 'इन सप्रेस फाइल' में दबाने के बीच क्या अंतर है?
टायलरएच

3
@TylerH "इन सोर्स" वह फाइल है जिसमें चेतावनी डाली जा रही है। "दमन फ़ाइल में" आपके सभी चेतावनियों को संग्रहीत करने के लिए एक उत्पन्न फ़ाइल है।
मिस्तागोस्टर

14

आप विधि का नाम बदल सकते हैं और गुण के साथ नाम जोड़ सकते EntryPointहैं।

[System.Runtime.InteropServices.DllImport("swedll32.dll", EntryPoint = "swe_calc")]
public static extern Int32 SweCalc(double tjd, int ipl, Int32 iflag, IntPtr xx, IntPtr serr);

मेरे पास एक ड्रॉप डाउन बॉक्स भी है जो समान त्रुटि देता है: 'ddlMonth_SelectedIndexChanged'। क्या मेरे सभी asp.net नियंत्रणों का भी नाम बदला जाना है?
स्टीवफेर्ग

@SteveFerg आप को - यह सिर्फ एक चेतावनी है।
डैनियल ए। व्हाइट

1
मुझे इतना ज्यादा लगा। मैं बस सोच रहा था कि क्या त्रुटि सूची में संदेश बॉक्स को "अकारण" के अलावा उन्हें बंद करने का कोई विकल्प है।
स्टीवफरग

5

यदि आप चेतावनी संदेश को एक विधि से छोड़ना या शून्य करना चाहते हैं, तो आप नामस्थान सिस्टम से SuppressMessage का उपयोग कर सकते हैं ।iiostostics.CodeAnalysis :

[SuppressMessage("Microsoft.Design", "IDE1006", Justification = "Rule violation aceppted due blah blah..")]

औचित्य संपत्ति वैकल्पिक है, लेकिन एक पल बिताने के लिए यह की कीमत एक कारण लेखन, यह बताने के लिए अपनी टीम पता है कि कोड को संशोधित किया और ठीक है है।


2

यदि आप नामकरण नियम के उल्लंघन पर होवर करते हैं, तो आप उस भाषा के नामकरण शैलियों को लाने के लिए Alt + Enter का उपयोग कर सकते हैं। आप टूल -> विकल्प -> टेक्स्ट एडिटर -> {भाषा} -> कोड स्टाइल -> नामकरण का भी उपयोग कर सकते हैं।

मेथड्स पर कैमलकेस नियमों के लिए, आप एक नया नियम जोड़ सकते हैं और उसे कैमल केस पर सेट कर सकते हैं। जब आप कोड फ़ाइल को बंद करते हैं और इसे फिर से खोलते हैं, तो आपको उस चेतावनी को और नहीं देखना चाहिए। यह निश्चित नहीं है कि यह डिफ़ॉल्ट विकल्प क्यों नहीं है, लेकिन यह मेरे मामले में नहीं था (दृश्य कोड 15.8 का उपयोग करके)। मुझे हमारी कंपनी के मानकों से मेल खाने के लिए शैलियों को संपादित करना पड़ा।

नमूना C # नामकरण शैलियाँ सेटिंग्स


2

यह .editorconfigनामकरण नियमों का उपयोग करके सेटिंग फ़ाइल का उपयोग करके सामान्य VS2017 & VS2019 का उपयोग किया जा सकता है : https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference

फ़ाइल को हाथ से बनाया जा सकता है, या VS2019 में आप अपनी पसंद के अनुसार इसे बनाने के लिए विजुअल स्टूडियो प्राप्त कर सकते हैं (यानी https://stackoverflow.com/a/41131563/131701 में अपने प्रीफ़्स को कॉन्फ़िगर करने के बाद ) सेटिंग्स बटन से उत्पन्न संपादक विन्यास फाइल।

सेटिंग बटन से एडिटर कॉन्फिग फाइल जेनरेट करें

उदाहरण के लिए, नियमों के निम्नलिखित सेट सभी गैर-सार्वजनिक तरीकों के लिए कैमलकेस को सक्षम करेंगे, और अन्य डिफ़ॉल्ट नामकरण नियमों को बनाए रखेंगे जो कि बी के साथ हैं।

#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.private_method_should_be_camelcasestyle.severity = suggestion
dotnet_naming_rule.private_method_should_be_camelcasestyle.symbols = private_method
dotnet_naming_rule.private_method_should_be_camelcasestyle.style = camelcasestyle

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.interface.required_modifiers = 

dotnet_naming_symbols.private_method.applicable_kinds = method
dotnet_naming_symbols.private_method.applicable_accessibilities = private, protected, internal, protected_internal
dotnet_naming_symbols.private_method.required_modifiers = 

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.types.required_modifiers = 

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal
dotnet_naming_symbols.non_field_members.required_modifiers = 

# Naming styles

dotnet_naming_style.pascal_case.required_prefix = 
dotnet_naming_style.pascal_case.required_suffix = 
dotnet_naming_style.pascal_case.word_separator = 
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix = 
dotnet_naming_style.begins_with_i.word_separator = 
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.camelcasestyle.required_prefix = 
dotnet_naming_style.camelcasestyle.required_suffix = 
dotnet_naming_style.camelcasestyle.word_separator = 
dotnet_naming_style.camelcasestyle.capitalization = camel_case

0

नियम को निष्क्रिय करें। राइटक्लिक त्रुटि संदेश और गंभीरता का चयन करने के लिए कोई नहीं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.