Visual Studio में गुण बनाने के लिए शॉर्टकट?


259

मैंने कुछ लोगों को C # वास्तव में तेजी से संपत्ति बनाते देखा है, लेकिन उन्होंने इसे कैसे किया?

प्रॉपर्टी बनाने के लिए विजुअल स्टूडियो (वर्तमान में विजुअल स्टूडियो 2010 का उपयोग करके) में कौन से शॉर्टकट उपलब्ध हैं?

मैं C # का उपयोग कर रहा हूं।

उदाहरण के लिए,

public string myString {get;set;}

जवाबों:


561

आप " प्रोप " टाइप कर सकते हैं और फिर टैब को दो बार दबा सकते हैं। वह निम्नलिखित उत्पन्न करेगा।

public TYPE Type { get; set; }

फिर आप "टाइप" और "टाइप" बदलें:

public string myString {get; set;}

आप "प्रॉपफ़ुल" टाइप करने की पूरी संपत्ति भी प्राप्त कर सकते हैं और फिर दो बार टैब कर सकते हैं। यह क्षेत्र और पूरी संपत्ति उत्पन्न करेगा।

private int myVar;

public int MyProperty
{
    get { return myVar;}
    set { myVar = value;}
}

7
आप इसे "कोड स्निपेट" नाम देना भूल गए हैं
PVitt

@PVitt: धन्यवाद मुझे नाम पता नहीं था :-)
अमरा

12
इसके अलावा, प्रचार बनाएगा: सार्वजनिक int MyProperty {get; निजी सेट; }
एमक_रेट्टी

3
आप संपादन कोड स्निपेट, फ़ोल्डर कुलपति # \ स्निपेट्स \ 1033 \ विजुअल C # \ "अपने दृश्य स्टूडियो के तहत में स्थापित कर सकते हैं मैं समर्थन क्षेत्र बनाने के लिए मेरी propfull.snippet संपादित। protectedके बजाय private, उदाहरण के लिए।
पॉल स्मिथ

9
यदि आप केवल P और TAB दो बार टाइप करते हैं तो यह भी int संपत्ति बनाएगा।
अदनान भट्टी

78

अमरा के जवाब के अलावा , आप टाइप करके अन्य स्निपेट्स पा सकते हैं

Ctrl+ K, Ctrl+X

जिसे मेरे Visual Studio में Edit.InsertSnippet पर मैप किया गया है और आपको उपलब्ध स्निपेट्स की पूरी सूची दिखाता है।

यह भी याद रखें कि आप स्निपेट्स प्रबंधक, जो में उपलब्ध है का उपयोग करके अपने खुद के स्निपेट कॉन्फ़िगर कर सकते हैं Tools, मेनू Code Snippets Manager...। मूल रूप से आप एक फ़ाइल बनाते हैं *.snippetऔर इसे विज़ुअल स्टूडियो में जोड़ने के लिए कोड स्निपेट्स प्रबंधक में आयात बटन का उपयोग करते हैं। एक पूर्ण ट्यूटोरियल के लिए आप डॉक्स पर जा सकते हैं; वॉकथ्रू: एक कोड स्निपेट बनाएं


विज़ुअल स्टूडियो कोड में स्निपेट को विज़ुअल स्टूडियो की तुलना में थोड़ा अलग माना जाता है। आप लिखने से सभी के टुकड़े का उपयोग कर सकते Ctrl+ Shift+ Pऔर में टाइप snippet। दो विकल्प उपलब्ध होने चाहिए, Insert Snippetऔर Preferences: Configure User Snippets

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

यदि आप शॉर्टनेम को जानते हैं तो आप बस टाइप कर सकते हैं और Tabस्निपेट का विस्तार करने के लिए उपयोग कर सकते हैं । एक सी # संपत्ति डालने के लिए आप तीन के टुकड़े उपलब्ध है, prop, propfull, और propg, विभिन्न प्रयोजनों के लिए।


अच्छा है यह धीमा है लेकिन आपको शॉर्ट कट +1 की पूरी सूची मिलती है।
अमरा

1
मैं तुमसे प्यार करता हूँ! अब थोड़ी देर के लिए यह देख रहा है
SageMage

24

अपने क्षेत्र के अंदर कर्सर रखें private int _i;और फिर मानक संपत्ति एक्सेसर्स बनाने के लिए मेनू या आरएमबी - रिफैक्टर - एनकैप्सुलेट फील्ड ... ( CtrlR; CtrlE) को संपादित करें ।


1
हर कोई एक ही कीबोर्ड लेआउट का उपयोग नहीं कर रहा है (ReSharper et al का उल्लेख नहीं करने के लिए)। जोड़ने के लिए अच्छा हो सकता है जहां आप मेनू में यह समान कार्यक्षमता पा सकते हैं।
स्लाइडरहॉसरल्स

11

टाइप करें "प्रोपफुल"। यह उपयोग करने के लिए बहुत बेहतर है, और यह संपत्ति और निजी चर उत्पन्न करेगा।

टाइप करें "प्रोपफुल" और फिर TABदो बार।


1
पूर्ण गुण ऑटो गुणों से बेहतर क्यों हैं? क्यों एक अतिरिक्त क्षेत्र के साथ अपने कोड अव्यवस्था?
काइल डेलानी

1
मामले में आपको सेटर या गेट्टर में कुछ करने की जरूरत है।
जो

8

टाइपिंग "प्रोप" के बाद + Tab+ Tabके रूप में अमरा ने सुझाव दिया, तो आप तुरंत संपत्ति के प्रकार (जो डिफ़ॉल्ट का स्थान ले लेगा टाइप कर सकते हैं int), एक और टैब टाइप करें और गुण का नाम (जो डिफ़ॉल्ट MyProperty का स्थान ले लेगा) टाइप करें। दबाकर समाप्त करें Enter


6

मुझे लगता है कि Alt+ R+ Fएक चर घोषणा से संपत्ति बनाने के लिए सही एक है


2
+1 यह वास्तव में वही था जिसकी मैं तलाश कर रहा था, क्योंकि यह मौजूदा चर के लिए गुण बनाता है, धन्यवाद!
AgentKnopf

1
हम्म .. यह मेरे लिए फाइलों को छोटा कर रहा है। यह मेरे लिए VS2012
अम्मार

6

शुरू से:

private int myVar;

जब आप "myVar" चुनते हैं और राइट क्लिक करते हैं तो "Refactor" चुनें और "Encapsulate Field" चुनें।

यह स्वचालित रूप से बनाएगा:

{
    get { return myVar; }
    set { myVar = value; }
}

या आप इसे Ctrl+ R+ दबाकर शॉर्टकट कर सकते हैं E


विजुअल स्टूडियो का कौन सा संस्करण? यह विज़ुअल स्टूडियो 2008 में दिखाई नहीं देता है।
पीटर मोर्टेंसन

विभिन्न कोड रिफैक्टिंग विकल्प वीएस 2010 के साथ आए। आपको नए संस्करण का उपयोग करने की आवश्यकता है।
Emrah Esmeroğlu

3

जब आप Visual Studio में लिखते हैं,

public ServiceTypesEnum Type { get; set; }
public string TypeString { get { return this.Type.ToString();}}

ReSharper इसे बदलने के लिए सुझाव देगा:

public string TypeString => Type.ToString();

लेकिन मुझे लगता है कि पहले से ही अधिक पठनीय है जो रेस्परर सुझाव देता है
महदी अलखतिब

3
यह प्रश्न का उत्तर कैसे देता है?
पीटर मॉर्टेंसन

3

आईडीई में मुझे जो पसंद आया वह यह था कि मैं कुछ चर लिख सकता था जैसे:

    private int id;
    private string name;
    private string version;
    private string description;
    private string status;
    private string symbol;

ध्यान दें, कि चर नाम छोटे अक्षरों से शुरू होते हैं, और फिर पूरे ब्लॉक का चयन करते हैं, और Ctrl+ R, Ctrl+ E, लागू करें दबाएं । गुण कैपिटल अक्षर के साथ उत्पन्न होते हैं:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

आदि।


यह वास्तव में सवाल का जवाब नहीं देता है, क्या यह करता है?
मृण

यह एक तरह का शोरबा था जिसकी मुझे तलाश थी, लेकिन आप सही हैं। मेरा जवाब इस बात पर केंद्रित है कि शॉर्टकट को लागू करने के बाद चर को बिना किसी संपादन के तैयार करने के लिए कैसे तैयार किया जाए।
जारू ६४

यह एक प्रकार का शॉर्टकट था जिसे मैं ढूंढ रहा था, और इस पृष्ठ पर समाप्त हो गया। मूल प्रश्न यह है कि C # में गुण कैसे बनाएं। इसके तहत कई उपयोग के मामलों में, यह वह जगह होगी जहां आपके पास एक निजी क्षेत्र है और इसे सार्वजनिक क्षेत्र बनाने से बचना चाहते हैं (यह मेरा मामला है)। अगर मेरे पास मेरा निजी क्षेत्र है, और मुझे पूरी सार्वजनिक संपत्तियां चाहिए, तो मुझे लगता है कि यह पूरी तरह से मामलों के इस सबसेट का जवाब दे रहा है। साधारण।
विल क्रॉफर्ड

2

टाइप P+ Tab+ Tab

डेटाटाइप बदलें, प्रेस करें TAB, संपत्ति का नाम बदलें, और End+ दबाएं Enter


2

के लिए जाओ

उपकरण >> विकल्प >> टेक्स्ट एडिटर >> सी # >> इंटेलीसेन

स्निपेट्स व्यवहार अनुभाग के तहत:

सुनिश्चित करें कि "हमेशा स्निपेट्स शामिल करें" चयनित है।

मुझे उम्मीद है कि यह आपके लिए भी काम करता है।



1

यदि आप Visual Studio 2013, 2015 या इसके बाद के संस्करण का उपयोग कर रहे हैं, तो बस नीचे दिए गए लिंक पर क्लिक करें। यह आपको विजुअल स्टूडियो में पूर्ण शॉर्टकट देगा!

दृश्य सी # कोड स्निपेट



0

VsVim का उपयोग करके कोड स्निपेट्स थोड़ा मज़ेदार काम लगता है। जिस शॉर्टकट की मुझे तलाश थी जब मैं यहाँ समाप्त हुआ तो बहुत सरल है: एक सदस्य के नाम के बाद{g;s;

मेरे पास सीमांकित ऑटो-क्लोजिंग चालू है, इसलिए समापन ब्रेस पर दिखाई देता है { , और अर्धविराम टाइप करने से प्राप्त और सेट के लिए एक स्वत: पूर्ण हो जाता है।

यह VS2013 और VS2015 पर काम करता है, और VS2012 में सिर्फ स्वचालित ब्रेस मिलान का अभाव है।


0

दृश्य स्टूडियो 2017 समुदाय में, कुंजी ctrl + है।


0

C # में:

private string studentName;

अर्धविराम (;) जस्ट प्रेस के बाद लाइन के अंत में

Ctrl + R + E

यह इस तरह एक पॉपअप विंडो दिखाएगा: यहां छवि विवरण दर्ज करें लागू होने पर क्लिक करने या ENTER को दबाने पर यह निम्नलिखित संपत्ति कोड उत्पन्न करेगा:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

VB में:

Private _studentName As String

लाइन के अंत में (स्ट्रिंग के बाद) प्रेस करें , सुनिश्चित करें कि आप शुरू में _ (अंडरस्कोर) रखें क्योंकि यह संपत्ति के अंत में नंबर जोड़ देगा:

Ctrl + R + E

एक ही विंडो दिखाई देगी: यहां छवि विवरण दर्ज करें

लागू करें पर क्लिक करने या ENTER को दबाने पर यह इस तरह के अंत में नंबर के साथ संपत्ति का निम्नलिखित कोड उत्पन्न करेगा:

Public Property StudentName As String
        Get
            Return _studentName
        End Get
        Set(value As String)
            _studentName = value
        End Set
    End Property

संख्या के साथ गुण इस प्रकार हैं:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.