Visual Studio'da özellik oluşturmak için kısayol?


260

Bazı insanlar C # özellikleri oluşturmak çok hızlı gördüm, ama nasıl yaptılar?

Özellikler oluşturmak için Visual Studio'da (şu anda Visual Studio 2010 kullanılıyor) hangi kısayollar var?

C # kullanıyorum.

Örneğin,

public string myString {get;set;}

Yanıtlar:


561

" Prop " yazıp sekmeye iki kez basabilirsiniz. Bu aşağıdakileri üretecektir.

public TYPE Type { get; set; }

Sonra "TYPE" ve "Type" ı değiştirirsiniz:

public string myString {get; set;}

Ayrıca tam özellik "propfull" yazarak ve sonra iki kez sekme alabilirsiniz. Böylece alan ve tam özellik oluşturulur.

private int myVar;

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

7
"Kod Parçacığı" adını vermeyi unuttunuz :)
PVitt

@PVitt: Teşekkürler adını bilmiyordum :-)
Amra

12
ayrıca, propg oluşturur: public int MyProperty {get; özel set; }
Amc_rtty

3
Ayrıca düzenleme 1033 klasöründe VC # \ Snippets \ \ Visual C # \" Visual Studio altında kod parçacığı, yükleyebilirsiniz ben arka alanını yapmak benim propfull.snippet düzenlenebilir. protectedYerine private, mesela.
Paul Smith

9
Sadece iki kez P ve SEKME yazarsanız, int özelliği de oluşturur.
Adnan Bhatti

78

Amra'nın cevabına ek olarak , diğer parçacıkları da yazarak bulabilirsiniz.

Ctrl+ K,Ctrl +X

Bu, Visual Studio'mdaki Edit.InsertSnippet ile eşlenir ve kullanılabilir snippet'lerin tam listesini gösterir.

Ayrıca, Toolsmenüde bulunan Snippet Manager'ı kullanarak kendi snippet'lerinizi yapılandırabileceğinizi unutmayın Code Snippets Manager.... Temelde bir dosya oluşturun *.snippetve Visual Studio'ya eklemek için Kod Parçacıkları Yöneticisi'nde Al düğmesini kullanın. Tam bir eğitim için dokümanlara gidebilirsiniz; İzlenecek yol: Bir kod snippet'i oluşturun .


Visual Studio'da kod parçacıkları Visual Studio'dakinden biraz farklı işlenir. Tüm snippet'lere Ctrl+ Shift+ yazıp Pyazın snippet. İki seçenek mevcut olmalıdır Insert Snippetve Preferences: Configure User Snippets.

Birincisi, parçacıklar listenizden (durum çubuğunda görebileceğiniz Dil Modunu kullanarak) bir parçacık ekler ve ikincisi ile herhangi bir Dil Modu için kendi parçacıklarınızı oluşturabilirsiniz.

Kısa adı biliyorsanız, bunu yazabilir ve Tabparçacığı genişletmek için kullanabilirsiniz . Bir C # özelliği ekleyerek için mevcut üç parçacıkları var prop, propfullve propg, farklı amaçlar için.


Nice yavaş ama kısa yollar +1 tam listesini almak.
Amra

1
Seni seviyorum! bir süredir bunu arıyoruz
SageMage

24

İmleci alanınızın içine yerleştirin private int _i;ve sonra standart özellik erişimcilerini oluşturmak için Düzenle menüsü veya RMB - Refactor - Alanı Kapsül ... ( CtrlR, CtrlE).


1
Herkes aynı klavye düzenini kullanmıyor (ReSharper ve ark. Aynı işlevselliği menülerde bulabileceğiniz yerleri eklemek iyi olabilir.
sliderhouserules

11

"Propfull" yazın. Kullanmak çok daha iyidir ve özelliği ve özel değişkeni oluşturur.

"Propfull" ve ardından TABiki kez yazın.


1
Tam özellikler neden otomatik özelliklerden daha iyidir? Neden fazladan bir alanla kodunuzu karıştırmalısınız?
Kyle Delaney

1
Setter veya alıcıda bir şey yapmanız gerekiyorsa.
joe

8

Amra tarafından önerildiği gibi "prop" + Tab+ yazdıktan sonra Tab, hemen tesisin türünü (varsayılanın yerini alacak int) yazabilir, başka bir sekme yazabilir ve özellik adını (varsayılan MyProperty'nin yerini alacak) yazabilirsiniz. Düğmesine basarak bitirin Enter.


6

Değişken bir bildirimden özellik oluşturmak için Alt+ R+ Fdoğru olduğunu düşünüyorum


2
+1 BU aslında aradığım şey, çünkü mevcut değişkenler için Özellikler oluşturuyor, teşekkürler!
AgentKnopf

1
hm .. dosyaları benim için küçültüyor. VS2012
Ammar

6

Dan başla:

private int myVar;

"MyVar" ı seçip sağ tıkladığınızda "Refactor" u ve "Encapsulate Field" i seçin.

Otomatik olarak oluşturur:

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

Veya Ctrl+ R+ tuşlarına basarak kısayol yapabilirsiniz E.


Visual Studio'nun hangi sürümü? Visual Studio 2008'de görünmüyor.
Peter Mortensen

VS 2010 ile çeşitli Kod Yenileme seçenekleri geldi. Daha yeni bir sürüm kullanmanız gerekiyor.
Emrah Esmeroğlu

3

Visual Studio'da yazdığınızda,

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

ReSharper onu şu biçime dönüştürmeyi öneriyor:

public string TypeString => Type.ToString();

Ama bence birincisi ReSharper'ın önerdiğinden daha okunabilir
Mehdi Alkhatib

3
Bu soruya nasıl cevap veriyor?
Peter Mortensen

3

IDE sevdim ne gibi birkaç değişken yazmak mümkün oldu:

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

Değişken adlarının küçük harflerle başladığını ve ardından tüm bloğu seçtiğini ve Ctrl+ R, Ctrl+ E, Uygula'ya basın . Özellikler büyük harf ile üretilir:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

vb.


Bu soruya gerçekten cevap vermiyor, değil mi?
mrun

Bu aradığım bir tür kısaydı, ama haklısın. Cevabım, kısayolu uyguladıktan sonra düzenleme yapılmadan özelliklerin hazır olması için değişkenlerin nasıl hazırlanacağına odaklanır.
Jaro64

Bu, aradığım ve bu sayfada sona eren bir tür kısaydı. Asıl soru, C # 'da gerçekten çok hızlı özelliklerin nasıl oluşturulacağıdır. Bu durum altındaki birçok kullanım durumunda, burası özel bir alanınız olduğu ve bunu ortak bir alan yapmaktan kaçınmak istediğiniz yer olacaktır (bu benim durumum). Eğer özel alan (lar) ı yazdıysam ve en kısa zamanda tam kamu mülkiyeti istiyorsanız, bunun bu büyük vaka alt kümesinde soruya mükemmel bir şekilde cevap verdiğini düşünüyorum. Sade.
Will Croxford

2

P+ Tab+ Yazın Tab.

Veri türünü değiştirin, tuşuna basın TAB, özellik adını değiştirin ve End+ tuşuna basın Enter.


2

Adresine git

Araçlar >> Seçenekler >> Metin Düzenleyici >> C # >> IntelliSense

Parçacıklar davranışı bölümünün altında:

"Her zaman snippet ekle" nin seçili olduğundan emin olun.

Umarım senin için de çalışır.




0

VsVim kullanarak kod parçacıkları biraz komik çalışıyor. Buraya geldiğimde aradığım kısayol çok daha basit: bir üye adı türünden sonra{g;s;

Sınırlayıcı otomatik kapanma özelliğini açtım, bu nedenle kapanma ayracı açık {ve noktalı virgül yazmak get ve set için bir otomatik tamamlamayı tetikliyor.

VS2013 ve VS2015 üzerinde çalışır ve VS2012 otomatik küme ayracı eşleşmesinden yoksundur.



0

C # dilinde:

private string studentName;

Noktalı virgül (;) sonra satır sonunda Sadece Basın

Ctrl + R + E

Aşağıdaki gibi bir açılır pencere gösterecektir: resim açıklamasını buraya girin Uygula veya ENTER tuşuna basıldığında aşağıdaki özellik kodunu oluşturur:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

VB'de:

Private _studentName As String

Satırın sonunda (Dize'den sonra) tuşuna basın, mülkün sonuna sayı ekleyeceğinden, başlangıçta _ (alt çizgi) yerleştirdiğinizden emin olun:

Ctrl + R + E

Aynı pencere görünecektir: resim açıklamasını buraya girin

Uygula ya da ENTER tuşuna basıldığında, aşağıdaki gibi sayı ile aşağıdaki özellik kodunu oluşturur:

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

Sayı özellikleri ile şöyle:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
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.