ทางลัดเพื่อสร้างคุณสมบัติใน Visual Studio หรือไม่


259

ฉันเคยเห็นบางคนสร้างคุณสมบัติใน C # เร็วมาก แต่พวกเขาทำได้อย่างไร

มีช็อตคัตใดบ้างใน Visual Studio (ปัจจุบันใช้ Visual Studio 2010) เพื่อสร้างคุณสมบัติ

ฉันใช้ C #

ตัวอย่างเช่น,

public string myString {get;set;}

คำตอบ:


561

คุณสามารถพิมพ์ " prop " แล้วกดแท็บสองครั้ง ที่จะสร้างดังต่อไปนี้

public TYPE Type { get; set; }

จากนั้นคุณเปลี่ยน "TYPE" และ "Type":

public string myString {get; set;}

คุณยังสามารถรับการพิมพ์คุณสมบัติเต็มรูปแบบ "propfull" แล้วแท็บสองครั้ง ที่จะสร้างเขตข้อมูลและคุณสมบัติเต็มรูปแบบ

private int myVar;

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

7
คุณลืมตั้งชื่อว่า "Code Snippet" :)
PVitt

@PVitt: ขอบคุณฉันไม่รู้ชื่อ :-)
Amra

12
นอกจากนี้ propg จะสร้าง: MyProperty int สาธารณะ {รับ; ชุดส่วนตัว }
Amc_rtty

3
นอกจากนี้คุณยังสามารถแก้ไขข้อมูลโค้ดในโฟลเดอร์ VC # \ ตัวอย่าง \ 1033 \ Visual C # \" ภายใต้ Visual Studio ของคุณติดตั้งฉันแก้ไข propfull.snippet ของฉันเพื่อให้ข้อมูลการสนับสนุน. protectedแทนprivateเช่น.
พอลสมิ ธ

9
หากคุณเพียงพิมพ์ P และ TAB สองครั้งก็จะสร้างคุณสมบัติ int
Adnan Bhatti

78

นอกจากคำตอบของ Amraแล้วคุณสามารถค้นหาตัวอย่างอื่น ๆ ได้โดยพิมพ์

Ctrl + K , Ctrl+X

ซึ่งแมปกับ Edit.InsertSnippet ใน Visual Studio ของฉันและแสดงรายการตัวอย่างทั้งหมดที่มีให้คุณ

ยังจำได้ว่าคุณสามารถกำหนดค่าตัวอย่างของคุณเองโดยใช้ตัวอย่างผู้จัดการซึ่งมีอยู่ในเมนูTools Code Snippets Manager...โดยทั่วไปคุณสร้างไฟล์*.snippetและใช้ปุ่มนำเข้าใน Code Snippets Manager เพื่อเพิ่มลงใน Visual Studio สำหรับบทแนะนำแบบเต็มคุณสามารถไปที่เอกสารเกมส์: สร้างโค้ดขนาดสั้นสร้างโค้ด


ในตัวอย่างรหัส Visual Studio มีการจัดการแตกต่างกันเล็กน้อยกว่าใน Visual Studio คุณสามารถเข้าถึงตัวอย่างทั้งหมดโดยพิมพ์Ctrl+ Shift+ Pและพิมพ์snippetและพิมพ์ควรมีสองตัวเลือกInsert SnippetและPreferences: Configure User Snippets .

อดีตแทรกตัวอย่างจากรายการตัวอย่างของคุณ (ใช้โหมดภาษาที่คุณสามารถดูในแถบสถานะ) และหลังคุณสามารถสร้างตัวอย่างของตัวเองสำหรับโหมดภาษาใด ๆ

หากคุณรู้จักชื่อย่อคุณสามารถพิมพ์และใช้Tabเพื่อขยายตัวอย่าง สำหรับการใส่คุณสมบัติ C # คุณมีสามตัวอย่างที่มีอยู่prop, propfullและpropgเพื่อวัตถุประสงค์ที่แตกต่างกัน


เยี่ยมมากมันช้ากว่า แต่คุณจะได้รับรายการลัดเต็ม +1
Amra

1
ผมรักคุณ! ได้รับการมองหาสิ่งนี้ในขณะนี้
SageMage

24

วางเคอร์เซอร์ไว้ในฟิลด์ของคุณprivate int _i;จากนั้นแก้ไขเมนูหรือหยวน - ตัวสร้างซ้ำ- ห่อหุ้มฟิลด์ ... ( CtrlR, CtrlE) เพื่อสร้างตัวเข้าถึงคุณสมบัติมาตรฐาน


1
ไม่ใช่ทุกคนที่ใช้รูปแบบแป้นพิมพ์เดียวกัน (ไม่พูดถึง ReSharper และคณะ) อาจเป็นการดีที่จะเพิ่มตำแหน่งที่คุณสามารถใช้ฟังก์ชันการทำงานเดียวกันนี้ได้ในเมนู
sliderhouserules

11

พิมพ์ "propfull" มันใช้งานได้ดีกว่ามากและมันจะสร้างคุณสมบัติและตัวแปรส่วนตัว

พิมพ์ "propfull" จากนั้นTABสองครั้ง


1
เหตุใดคุณสมบัติแบบเต็มจึงดีกว่าคุณสมบัติอัตโนมัติ ทำไมต้องยุ่งเหยิงโค้ดของคุณด้วยฟิลด์พิเศษ?
Kyle Delaney

1
ในกรณีที่คุณต้องทำอะไรบางอย่างใน setter หรือทะเยอทะยาน
โจ

8

หลังจากพิมพ์ "prop" + Tab+ Tabตามที่ Amra แนะนำไว้คุณสามารถพิมพ์ประเภทของทรัพย์สินได้ทันที (ซึ่งจะแทนที่ค่าเริ่มต้นint) พิมพ์แท็บอื่นแล้วพิมพ์ชื่อคุณสมบัติ (ซึ่งจะแทนที่ MyProperty เริ่มต้น) Enterเสร็จสิ้นโดยการกด


6

ฉันคิดว่าAlt+ R+ Fเป็นสิ่งที่ถูกต้องสำหรับการสร้างคุณสมบัติจากการประกาศตัวแปร


2
+1 นี่คือสิ่งที่ฉันกำลังมองหาเพราะมันสร้างคุณสมบัติสำหรับตัวแปรที่มีอยู่แล้วขอบคุณ!
AgentKnopf

1
หืมม .. มันกำลังลดขนาดไฟล์ให้ฉัน สิ่งนี้ไม่ทำงานตามที่คาดไว้สำหรับฉันใน VS2012
Ammar

6

เริ่มต้นจาก:

private int myVar;

เมื่อคุณเลือก "myVar" และคลิกขวาจากนั้นเลือก "Refactor" และเลือก "Encapsulate Field"

มันจะสร้างโดยอัตโนมัติ:

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

หรือคุณสามารถทางลัดโดยการกดCtrl+ +RE


Visual Studio รุ่นใด ไม่ปรากฏใน Visual Studio 2008
Peter Mortensen

ตัวเลือกการเปลี่ยนรหัสใหม่มาพร้อมกับ VS 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();

แต่ฉันคิดว่าอันแรกสามารถอ่านได้มากกว่าที่ ReSharper แนะนำ
Mahdi Alkhatib

3
คำถามนี้จะตอบคำถามได้อย่างไร
ปีเตอร์มอร์เทนเซ่น

3

สิ่งที่ฉันชอบใน IDE คือฉันสามารถเขียนตัวแปรบางอย่างเช่น:

    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;
        }
    }

เป็นต้น


นี่ไม่ได้ตอบคำถามใช่ไหม?
mrun

นี่เป็นชอร์คัทที่ฉันกำลังมองหา แต่คุณพูดถูก คำตอบของฉันมุ่งเน้นไปที่วิธีการเตรียมตัวแปรเพื่อให้มีคุณสมบัติพร้อมโดยไม่ต้องแก้ไขหลังจากใช้ทางลัด
Jaro64

นี่เป็นทางลัดที่ฉันกำลังมองหาและจบลงด้วยหน้านี้ คำถามเดิมคือวิธีการสร้างคุณสมบัติใน C # อย่างรวดเร็วจริงๆ ในหลายกรณีการใช้งานภายใต้สิ่งนี้แน่นอนนี่จะเป็นที่ที่คุณมีสนามส่วนตัวและต้องการหลีกเลี่ยงการทำให้เป็นเขตข้อมูลสาธารณะ (นี่คือกรณีของฉัน) ถ้าฉันเขียนฟิลด์ส่วนตัวของฉันและต้องการทรัพย์สินสาธารณะเต็มโดยเร็วฉันคิดว่านี่เป็นคำตอบสำหรับคำถามที่ดีที่สุดในกลุ่มย่อยจำนวนมาก Simples
Will Croxford


2

ไปที่

เครื่องมือ >> ตัวเลือก >> เครื่องมือแก้ไขข้อความ >> C # >> IntelliSense

ใต้ส่วนพฤติกรรมตัวอย่าง:

ตรวจสอบให้แน่ใจว่าได้เลือก "รวมชุดข้อมูลเสมอ"

ฉันหวังว่ามันจะเหมาะกับคุณเช่นกัน




0

การใช้ VsVim โค้ดขนาดเล็กดูเหมือนจะตลกดี ทางลัดที่ฉันค้นหาเมื่อสิ้นสุดที่นี่นั้นง่ายกว่ามาก: หลังจากพิมพ์ชื่อสมาชิกแล้ว{g;s;

ฉันเปิดตัวคั่นอัตโนมัติเปิดอยู่ดังนั้นวงเล็บปีกกาปิดจะปรากฏขึ้น{และการพิมพ์เครื่องหมายอัฒภาคทริกเกอร์การเติมข้อความอัตโนมัติเพื่อรับและตั้งค่า

มันใช้งานได้กับ VS2013 และ VS2015 และ VS2012 ขาดการจับคู่รั้งอัตโนมัติ



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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.