Pintasan untuk membuat properti di Visual Studio?


259

Saya telah melihat beberapa orang membuat properti di C # sangat cepat, tetapi bagaimana mereka melakukannya?

Pintasan apa yang tersedia di Visual Studio (saat ini menggunakan Visual Studio 2010) untuk membuat properti?

Saya menggunakan C #.

Sebagai contoh,

public string myString {get;set;}

Jawaban:


561

Anda dapat mengetik " prop " dan kemudian tekan tab dua kali. Itu akan menghasilkan yang berikut.

public TYPE Type { get; set; }

Kemudian Anda mengubah "TYPE" dan "Type":

public string myString {get; set;}

Anda juga bisa mendapatkan properti lengkap dengan mengetik "propfull" dan kemudian tab dua kali. Itu akan menghasilkan bidang dan properti lengkap.

private int myVar;

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

7
Anda lupa menyebutnya "Cuplikan Kode" :)
PVitt

@PVitt: Terima kasih saya tidak tahu nama :-)
Amra

12
juga, propg akan membuat: public int MyProperty {get; set pribadi; }
Amc_rtty

3
Anda juga dapat mengedit cuplikan kode, di folder VC # \ Snippets \ 1033 \ Visual C # \ "di bawah instalasi Visual Studio Anda. Saya mengedit propfull.snippet saya untuk membuat bidang dukungan protectedalih-alih private, misalnya
Paul Smith

9
Jika Anda cukup mengetik P dan TAB dua kali maka itu juga akan membuat properti int.
Adnan Bhatti

78

Selain jawaban Amra , Anda dapat menemukan cuplikan lainnya dengan mengetik

Ctrl+ K, Ctrl+X

Yang dipetakan ke Edit.InsertSnippet di Visual Studio saya dan menunjukkan kepada Anda daftar lengkap potongan yang tersedia.

Ingat juga bahwa Anda dapat mengonfigurasi snippet Anda sendiri dengan menggunakan Snippets Manager, yang tersedia di Toolsmenu Code Snippets Manager...,. Pada dasarnya Anda membuat file *.snippetdan menggunakan tombol Impor di Code Snippets Manager untuk menambahkannya ke Visual Studio. Untuk tutorial lengkap, Anda dapat pergi ke dokumen; Panduan: Buat cuplikan kode .


Dalam Visual Studio Code snipet ditangani sedikit berbeda dari pada Visual Studio. Anda dapat mengakses semua cuplikan dengan mengetik Ctrl+ Shift+ Pdan mengetik snippet. Dua opsi harus tersedia, Insert Snippetdan Preferences: Configure User Snippets.

Yang pertama menyisipkan snippet dari daftar snippet Anda (menggunakan Mode Bahasa yang dapat Anda lihat di bilah status), dan dengan yang kedua Anda dapat membuat snippet Anda sendiri untuk Mode Mode apa pun.

Jika Anda tahu nama pendeknya, Anda bisa mengetiknya dan menggunakannya Tabuntuk memperluas cuplikan. Untuk memasukkan C # properti Anda memiliki tiga potongan yang tersedia, prop, propfull, dan propg, untuk tujuan yang berbeda.


Bagus itu lebih lambat tetapi Anda mendapatkan daftar lengkap jalan pintas +1.
Amra

1
Aku cinta kamu! sudah mencari ini untuk sementara waktu sekarang
SageMage

24

Tempatkan kursor di dalam bidang Anda private int _i;dan kemudian Edit menu atau RMB - Refactor - Encapsulate Field ... ( CtrlR, CtrlE) untuk membuat pengakses properti standar.


1
Tidak semua orang menggunakan tata letak keyboard yang sama (belum lagi ReSharper et al). Mungkin baik untuk menambahkan di mana Anda dapat menemukan fungsi yang sama ini di menu.
sliderhouserules

11

Ketik "propfull". Ini jauh lebih baik untuk digunakan, dan itu akan menghasilkan variabel properti dan pribadi.

Ketik "propfull" dan kemudian TABdua kali.


1
Mengapa properti lengkap lebih baik daripada properti otomatis? Mengapa mengacaukan kode Anda dengan bidang tambahan?
Kyle Delaney

1
Jika Anda perlu melakukan sesuatu dalam setter atau pengambil.
joe

8

Setelah mengetik "prop" + Tab+ Tabseperti yang disarankan oleh Amra, Anda dapat langsung mengetik tipe properti (yang akan menggantikan default int), ketik tab lain dan ketik nama properti (yang akan menggantikan MyProperty default). Selesai dengan menekan Enter.


6

Saya pikir Alt+ R+ Fadalah yang benar untuk membuat properti dari deklarasi variabel


2
+1 INI sebenarnya yang saya cari, karena ia menciptakan Properties untuk variabel yang ada, terima kasih!
AgentKnopf

1
hm .. itu adalah minifying file untuk saya. Ini tidak berfungsi seperti yang dimaksudkan untuk saya pada VS2012
Ammar

6

Mulai dari:

private int myVar;

Ketika Anda memilih "myVar" dan klik kanan kemudian pilih "Refactor" dan pilih "Encapsulate Field".

Secara otomatis akan membuat:

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

Atau Anda dapat pintas dengan menekan Ctrl+ R+ E.


Apa versi Visual Studio? Tampaknya tidak berada di Visual Studio 2008.
Peter Mortensen

Berbagai opsi Refactoring Kode hadir bersama VS 2010. Anda harus menggunakan versi yang lebih baru.
Emrah Esmeroğlu

3

Ketika Anda menulis di Visual Studio,

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

ReSharper akan terus menyarankan untuk mengubahnya menjadi:

public string TypeString => Type.ToString();

Tapi saya pikir yang pertama lebih mudah dibaca daripada yang disarankan ReSharper
Mahdi Alkhatib

3
Bagaimana ini menjawab pertanyaan?
Peter Mortensen

3

Yang saya sukai di IDE adalah saya bisa menulis beberapa variabel seperti:

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

Perhatikan, bahwa nama variabel dimulai dengan huruf kecil, dan kemudian pilih seluruh blok, dan tekan Ctrl+ R, Ctrl+ E, Terapkan. Properti dihasilkan dengan huruf kapital:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

dll.


Ini tidak benar-benar menjawab pertanyaan, bukan?
mrun

Ini semacam potongan rambut yang saya cari, tetapi Anda benar. Jawaban saya berfokus pada bagaimana menyiapkan variabel agar properti siap tanpa edit setelah menerapkan pintasan.
Jaro64

Ini adalah semacam jalan pintas yang saya cari, dan berakhir di halaman ini. Pertanyaan aslinya adalah bagaimana cara membuat properti di C # sangat cepat. Dalam banyak kasus penggunaan pasti di bawah ini, ini akan menjadi tempat Anda memiliki bidang pribadi dan ingin menghindari menjadikan ini bidang publik (ini kasus saya). Jika saya memiliki bidang pribadi saya ditulis, dan ingin properti publik penuh turun segera saya pikir ini menjawab pertanyaan dengan sempurna dalam subset kasus besar ini. Sederhana.
Will Croxford


2

Pergi ke

Alat >> Opsi >> Editor Teks >> C # >> IntelliSense

Di bawah bagian perilaku Cuplikan:

Pastikan "Selalu sertakan cuplikan" dipilih.

Saya harap ini bekerja untuk Anda juga.




0

Menggunakan VsVim, potongan kode tampaknya bekerja sedikit lucu. Pintasan yang saya cari ketika saya berakhir di sini jauh lebih sederhana: setelah tipe nama anggota{g;s;

Saya memiliki pembatas penutup otomatis yang diaktifkan, sehingga tanda kurung penutup muncul {, dan mengetikkan titik koma memicu pelengkapan otomatis untuk mendapatkan dan mengatur.

Ia bekerja pada VS2013 dan VS2015, dan VS2012 tidak memiliki pencocokan penjepit otomatis.


0

Di komunitas visual studio 2017, kuncinya adalah ctrl +.


0

Dalam C #:

private string studentName;

Di akhir baris setelah titik koma (;) Cukup Tekan

Ctrl + R + E

Ini akan menampilkan jendela sembulan seperti ini: masukkan deskripsi gambar di sini Pada klik Terapkan atau menekan ENTER akan menghasilkan kode properti berikut:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

Dalam VB:

Private _studentName As String

Di akhir baris (setelah String) Tekan, Pastikan Anda menempatkan _ (garis bawah) di awal karena akan menambahkan nomor di akhir properti:

Ctrl + R + E

Jendela yang sama akan muncul: masukkan deskripsi gambar di sini

Pada klik Terapkan atau menekan ENTER itu akan menghasilkan kode properti berikut dengan nomor di akhir seperti ini:

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

Dengan nomor properti seperti ini:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.