2010-12-27 12 views
5

मैं Resharper इस तरह एक स्विच बयान (Ctrl + E, Ctrl + C का उपयोग करके) को स्वरूपित करने के लिए एक रास्ता खोजने की कोशिश कर रहा हूँ:पुनर्विक्रेता प्रारूप केस स्टेटमेंट्स केस के समान लाइन पर शुरू करने के लिए कर सकते हैं?

switch (int_i) { 
    case 1 : Console.WriteLine("You entered one"); 
       break; 
    case 2 : Console.WriteLine("You entered two"); 
       break; 
    case 3 : Console.WriteLine("You entered three"); 
       break; 
    default : Console.WriteLine("Please enter a number between 1 and 5"); 
       break; 
} 

मैं व्यक्तिगत रूप से सब पर इस शैली पसंद नहीं है, लेकिन यह है एक पुस्तक में इस्तेमाल किया जा रहा है जिसका मैं अध्ययन कर रहा हूं और मैं रिशेर्पर को अपने कोड को उसी तरह प्रारूपित करने में मदद करने के लिए चाहता हूं।

  1. बयान मामले बयान के रूप में एक ही लाइन पर शुरू कर दिया है:

    यहाँ नोट करने के लिए दो बातें कर रहे हैं। इसलिए क्योंकि defaultcase 3 से अधिक समय वहाँ case 1, case 2 और case 3 पर पेट के पहले एक अतिरिक्त स्थान हो गया है है

  2. कोलन, गठबंधन किया जाना है।

क्या रिशेर्पर ऐसा कर सकता है?

+3

तो आपको शैली पसंद नहीं है, और पुस्तक में इसे स्वरूपित करना पुस्तक से सीखने की आपकी क्षमता में कोई मूल्य नहीं जोड़ रहा है, लेकिन आप इस तरीके को प्रारूपित करने के तरीके को समझने के लिए समय बिताना चाहते हैं ? मैं ऐसा करने के लिए रीशेपर का उपयोग करने के तरीके सीखने में कम से कम मूल्य देख सकता हूं, लेकिन स्पष्ट रूप से मैं कौशल को हासिल करने के अपने प्रयासों पर अधिक फलदायी हूं। साथ ही, मुझे उम्मीद है कि जिस पुस्तक से आप सीख रहे हैं वह आपको वैरिएबल नाम 'int_i' नहीं देता है; वह भयानक है। क्षमा करें, 600 वर्णों में झटका लगाना मुश्किल नहीं है। – jason

+2

@ जेसन पूरी तरह से सहमत हैं, लेकिन यदि कोड के नमूने जटिल थे और किसी अन्य संदर्भ के बिना पुस्तक "लाइन 123" संदर्भित की गई है तो नमूने लाइन अप करने के लिए उपयोगी हो सकता है। –

+2

@ जेसन: मैं 'int_i' नामक चर को देखने से भी निराश था। हालांकि _does_ पुस्तक से आया है। – comecme

उत्तर

1

आप ReSharper में स्वरूपण कोड अनुकूलित कर सकते हैं - विकल्प - बोली - सी # - स्वरूपण शैली, लेकिन ऐसा लगता है के बारे में पूछ रहे कोई बात नहीं है। निकटतम चीज़ जो मैंने पाया - स्विच स्टेटमेंट में ब्रेसिज़ स्वरूपण।

+0

उत्तर पोस्ट करने के लिए धन्यवाद। मुझे पहले से ही पता था कि आप स्वरूपण को कस्टमाइज़ कर सकते हैं, मेरा सवाल यह था कि मेरे द्वारा वर्णित स्वरूपण प्राप्त करना संभव था। – comecme

1

मुझे पता है कि यह पुराना है, लेकिन यह संभव है। यह सिर्फ स्पष्ट नहीं है। मैं अभी इसके लिए ठोकर खाई।

रीशेर्पर विकल्प/कोड संपादन/सी #/प्रारूप शैली/ब्रेसेस लेआउट पर जाएं। नमूना गलत है यह देखने के लिए केस "लेबल" के अंतर्गत 'ब्लॉक करें' का चयन करें। अब अन्य का चयन करें। इसे लाइन के अंत में सेट करें (के & आर स्टाइल) "। नमूना में कुछ भी नहीं बदलेगा। यह देखने के लिए कि फ़ॉर्मेटिंग अब सही है, फिर से "लेबल" केस के अंतर्गत 'ब्लॉक करें' का चयन करें।

मैं बीएसडी शैली पसंद करता हूं जो काम करता है।

+0

जब मैं "अगली पंक्ति (बीएसडी शैली)" से "अन्य" सेटिंग को "लाइन के अंत (के एंड आर स्टाइल)" में बदलता हूं, तो मुझे नमूना में बदलाव दिखाई देता है। जब मैं वापस "केस के तहत ब्लॉक करें" लेबल पर स्विच करता हूं "मुझे कोई बदलाव दिखाई नहीं देता है। तो मेरे पास अन्य है: "रेखा का अंत (के एंड आर)" और केस लेबल के तहत ब्लॉक: "अगली पंक्ति (बीएसडी) पर"। – comecme

0

मुझे लगता है कि इसके लिए अब एक विकल्प है। मेरे पास संस्करण 2017.3.2 है।

रीशेर्पर विकल्प/कोड संपादन/सी #/स्वरूपण शैली/रेखा तोड़ने और लपेटने/एम्बेडेड स्टेटमेंट की व्यवस्था को व्यवस्थित करने के लिए और हमेशा एक ही पंक्ति पर सरल "केस" कथन रखें।

+0

यह मेरे उदाहरण के लिए काम नहीं करता है। चूंकि प्रत्येक 'केस' में दो पंक्तियां होती हैं ('लिखित रेखा' और 'ब्रेक'), रीशेपर इसे _simple_ केस स्टेटमेंट नहीं मानता है, इसलिए यह प्रत्येक' केस 'के बाद भी एक लाइन ब्रेक रखेगा। और यहां तक ​​कि केवल एक कथन के साथ, यह कोलन को संरेखित नहीं करेगा। यह सिर्फ 'केस' और कथन के बीच एक ही जगह रखेगा। – comecme

संबंधित मुद्दे