Phím tắt để tạo thuộc tính trong Visual Studio?


259

Tôi đã thấy một số người tạo các thuộc tính trong C # rất nhanh, nhưng họ đã làm điều đó như thế nào?

Những phím tắt nào có sẵn trong Visual Studio (hiện đang sử dụng Visual Studio 2010) để tạo thuộc tính?

Tôi đang sử dụng C #.

Ví dụ,

public string myString {get;set;}

Câu trả lời:


561

Bạn có thể gõ " prop " và sau đó nhấn tab hai lần. Điều đó sẽ tạo ra sau đây.

public TYPE Type { get; set; }

Sau đó, bạn thay đổi "TYPE" và "Type":

public string myString {get; set;}

Bạn cũng có thể lấy toàn bộ thuộc tính gõ "propfull" và sau đó tab hai lần. Điều đó sẽ tạo ra các lĩnh vực và tài sản đầy đủ.

private int myVar;

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

7
Bạn đã quên đặt tên cho nó là "Đoạn mã" :)
PVitt

@PVitt: Cảm ơn tôi không biết tên :-)
Amra

12
đồng thời, propg sẽ tạo: public int MyProperty {get; thiết lập riêng tư; }
Amc_rtty

3
Bạn cũng có thể chỉnh sửa đoạn mã, trong thư mục VC # \ Snippets \ 1033 \ Visual C # \ "trong cài đặt Visual Studio của bạn. Tôi đã chỉnh sửa propfull.snippet của mình để tạo trường sao lưu protectedthay vì private, chẳng hạn
Paul Smith

9
Nếu bạn chỉ cần gõ P và TAB hai lần thì nó cũng sẽ tạo thuộc tính int.
Adnan Bhatti

78

Ngoài câu trả lời của Amra , bạn có thể tìm các đoạn khác bằng cách nhập

Ctrl+ K, Ctrl+X

Được ánh xạ tới Edit.InsertSnippet trong Visual Studio của tôi và hiển thị cho bạn danh sách đầy đủ các đoạn có sẵn.

Ngoài ra, hãy nhớ rằng bạn có thể định cấu hình các đoạn mã của riêng mình bằng cách sử dụng Trình quản lý đoạn trích, có sẵn trong Toolsmenu , Code Snippets Manager.... Về cơ bản, bạn tạo một tệp *.snippetvà sử dụng nút Nhập trong Trình quản lý đoạn mã để thêm nó vào Visual Studio. Đối với một hướng dẫn đầy đủ, bạn có thể đi đến các tài liệu; Hướng dẫn: Tạo một đoạn mã .


Trong Visual Studio Code, các đoạn mã được xử lý hơi khác so với trong Visual Studio. Bạn có thể truy cập tất cả các đoạn bằng cách nhập Ctrl+ Shift+ Pvà nhập snippet. Hai tùy chọn nên có sẵn, Insert SnippetPreferences: Configure User Snippets.

Cái trước chèn một đoạn trích từ danh sách đoạn trích của bạn (sử dụng Chế độ ngôn ngữ mà bạn có thể thấy trong thanh trạng thái) và với đoạn sau bạn có thể tạo đoạn trích của riêng mình cho bất kỳ Chế độ ngôn ngữ nào.

Nếu bạn biết tên ngắn, bạn có thể chỉ cần gõ và sử dụng Tabđể mở rộng đoạn mã. Để chèn một C # bất động sản bạn có ba đoạn có sẵn, prop, propfull, và propg, cho các mục đích khác nhau.


Rất vui, nó chậm hơn nhưng bạn có được danh sách đầy đủ các lần cắt ngắn +1.
Amra

1
Tôi mến bạn! đã tìm kiếm điều này trong một thời gian bây giờ
SageMage

24

Đặt con trỏ bên trong trường của bạn private int _i;và sau đó chỉnh sửa menu hoặc RMB - Refactor - Encapsulation Field ... ( CtrlR, CtrlE) để tạo các bộ truy cập thuộc tính tiêu chuẩn.


1
Không phải ai cũng sử dụng cùng bố cục bàn phím (không đề cập đến ReSharper et al). Có thể là tốt để thêm nơi bạn có thể tìm thấy chức năng tương tự trong các menu.
trượt 2/12/14

11

Nhập "propfull". Nó là tốt hơn để sử dụng, và nó sẽ tạo ra các thuộc tính và biến riêng tư.

Nhập "propfull" và sau đó TABhai lần.


1
Tại sao các thuộc tính đầy đủ tốt hơn các thuộc tính tự động? Tại sao làm lộn xộn mã của bạn với một trường thêm?
Kyle Delaney

1
Trong trường hợp bạn cần phải làm một cái gì đó trong setter hoặc getter.
joe

8

Sau khi nhập "prop" + Tab+ Tabtheo đề xuất của Amra, bạn có thể nhập ngay loại thuộc tính (sẽ thay thế mặc định int), nhập một tab khác và nhập tên thuộc tính (sẽ thay thế MyProperty mặc định). Kết thúc bằng cách nhấn Enter.


6

Tôi nghĩ Alt+ R+ Flà chính xác để tạo thuộc tính từ khai báo biến


2
+1 NÀY thực sự là những gì tôi đang tìm kiếm, vì nó tạo Thuộc tính cho các biến hiện có, cảm ơn!
Đặc vụKnopf

1
hm .. nó đang thu nhỏ các tập tin cho tôi Điều này không hoạt động như dự định của tôi trên VS2012
Ammar

6

Bắt đầu từ:

private int myVar;

Khi bạn chọn "myVar" và nhấp chuột phải, sau đó chọn "Refactor" và chọn "Encapsulation Field".

Nó sẽ tự động tạo:

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

Hoặc bạn có thể tắt nó bằng cách nhấn Ctrl+ R+ E.


Phiên bản nào của Visual Studio? Nó không xuất hiện trong Visual Studio 2008
Peter Mortensen

Nhiều tùy chọn Tái cấu trúc mã khác nhau đi kèm với VS 2010. Bạn cần sử dụng phiên bản mới hơn.
Emrah Esmeroğlu

3

Khi bạn viết trong Visual Studio,

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

ReSharper sẽ tiếp tục đề xuất chuyển đổi nó thành:

public string TypeString => Type.ToString();

Nhưng tôi nghĩ cái đầu tiên dễ đọc hơn những gì ReSharper gợi ý
Mahdi Alkhatib

3
Làm thế nào để trả lời câu hỏi này?
Peter Mortensen

3

Điều tôi thích trong IDE là tôi có thể viết một vài biến như:

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

Lưu ý rằng các tên biến bắt đầu bằng các chữ cái nhỏ, sau đó chọn toàn bộ khối và nhấn Ctrl+ R, Ctrl+ E, Áp dụng. Các thuộc tính được tạo bằng chữ in hoa:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

Vân vân.


Điều này không thực sự trả lời câu hỏi, phải không?
di chuyển vào

Đây là một loại shorcut tôi đang tìm kiếm, nhưng bạn đã đúng. Câu trả lời của tôi tập trung vào cách chuẩn bị các biến để có các thuộc tính sẵn sàng mà không cần chỉnh sửa sau khi áp dụng phím tắt.
Jaro64

Đây là một loại phím tắt tôi đang tìm kiếm, và kết thúc trên trang này. Câu hỏi ban đầu là làm thế nào để tạo các thuộc tính trong C # thực sự nhanh chóng. Trong nhiều trường hợp sử dụng theo điều này chắc chắn, đây sẽ là nơi bạn có một lĩnh vực riêng tư và muốn tránh biến nó thành một lĩnh vực công cộng (đây là trường hợp của tôi). Nếu tôi có (các) trường riêng của mình được viết và muốn có đầy đủ các thuộc tính công cộng càng sớm càng tốt, tôi nghĩ rằng đây là câu trả lời hoàn hảo trong tập hợp lớn các trường hợp này. Đơn giản.
Will Croxford

2

Nhập P+ Tab+ Tab.

Thay đổi kiểu dữ liệu, nhấn TAB, thay đổi tên thuộc tính và nhấn End+ Enter.


2

Đi đến

Công cụ >> Tùy chọn >> Trình chỉnh sửa văn bản >> C # >> IntelliSense

Trong phần hành vi của Snippets:

Đảm bảo "Luôn bao gồm các đoạn" được chọn.

Hy vọng nó cũng làm việc cho bạn.




0

Sử dụng VsVim các đoạn mã có vẻ hơi buồn cười. Phím tắt tôi đang tìm kiếm khi tôi kết thúc ở đây đơn giản hơn nhiều: sau một loại tên thành viên{g;s;

Tôi đã bật tính năng tự động đóng dấu phân cách, vì vậy dấu ngoặc đóng xuất hiện {và nhập dấu chấm phẩy kích hoạt tự động hoàn thành để lấy và đặt.

Nó hoạt động trên VS2013 và VS2015, và VS2012 chỉ thiếu khớp nối tự động.


0

Trong cộng đồng visual studio 2017, chìa khóa là ctrl +.


0

Trong C #:

private string studentName;

Ở cuối dòng sau dấu chấm phẩy (;) Chỉ cần nhấn

Ctrl + R + E

Nó sẽ hiển thị một cửa sổ bật lên như thế này: nhập mô tả hình ảnh ở đây Khi nhấp vào Áp dụng hoặc nhấn ENTER, nó sẽ tạo mã thuộc tính sau:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

Trong VB:

Private _studentName As String

Ở cuối dòng (sau Chuỗi) Bấm, Đảm bảo bạn đặt _ (gạch dưới) ở đầu vì nó sẽ thêm số ở cuối thuộc tính:

Ctrl + R + E

Cùng một cửa sổ sẽ xuất hiện: nhập mô tả hình ảnh ở đây

Khi nhấp vào Áp dụng hoặc nhấn ENTER, nó sẽ tạo mã thuộc tính sau với số ở cuối như thế này:

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

Với thuộc tính số là như thế này:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.