Skrót do tworzenia właściwości w Visual Studio?


259

Widziałem niektórych ludzi tworzących właściwości w C # naprawdę szybko, ale jak to zrobili?

Jakie skróty są dostępne w Visual Studio (obecnie używa Visual Studio 2010) do tworzenia właściwości?

Używam C #.

Na przykład,

public string myString {get;set;}

Odpowiedzi:


561

Możesz wpisać „ prop ”, a następnie dwukrotnie nacisnąć klawisz Tab. To wygeneruje następujące.

public TYPE Type { get; set; }

Następnie zmieniasz „TYPE” i „Type”:

public string myString {get; set;}

Możesz także uzyskać pełną właściwość wpisując „propfull”, a następnie dwukrotnie tabulować. To wygeneruje pole i pełną właściwość.

private int myVar;

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

7
Zapomniałeś nazwać go „Code Snippet” :)
— PVitt

@PVitt: Dzięki, nie znałem imienia :-)
— Amra

12
również propg utworzy: public int MyProperty {get; zestaw prywatny; }
— Amc_rtty

3
Możesz także edytować fragment kodu, w folderze VC # \ Snippets \ 1033 \ Visual C # \ "pod instalacją Visual Studio. Zredagowałem mój plik propfull.snippet, aby utworzyć pole podkładu protectedzamiast private, na przykład
— Paul Smith,

9
Jeśli wpiszesz tylko P i TAB dwa razy, utworzy to również właściwość int.
— Adnan Bhatti

78

Oprócz odpowiedzi Amry możesz znaleźć inne fragmenty, pisząc

Ctrl+ K, Ctrl+X

Który jest mapowany na Edit.InsertSnippet w moim Visual Studio i pokazuje pełną listę dostępnych fragmentów.

Należy również pamiętać, że można skonfigurować własne fragmenty za pomocą fragmentach Manager, który jest dostępny w Toolsmenu Code Snippets Manager.... Zasadniczo tworzysz plik *.snippeti używasz przycisku Importuj w Code Snippets Manager, aby dodać go do Visual Studio. Aby uzyskać pełny samouczek, możesz przejść do dokumentacji;Przewodnik: utwórz fragment kodu .


W Visual Studio Code urywki są obsługiwane nieco inaczej niż w Visual Studio. Aby uzyskać dostęp do wszystkich fragmentów, wpisz Ctrl+ Shift+ Pi wpisz snippet. Powinny być dostępne dwie opcje,Insert Snippet oraz Preferences: Configure User Snippets.

Pierwszy z nich wstawia fragment z listy fragmentów (używając trybu języka, który można zobaczyć na pasku stanu), a drugi pozwala tworzyć własne fragmenty dla dowolnego trybu języka.

Jeśli znasz krótką nazwę, możesz ją po prostu wpisać i Tabrozwinąć fragment kodu. Wstawiania # właściwość C masz trzy fragmenty dostępne prop, propfulli propgdla różnych celów.


Fajnie, że jest wolniejszy, ale dostajesz pełną listę skrótów +1.
— Amra,

1
Kocham Cię! szukałem tego od jakiegoś czasu
— SageMage

24

Umieść kursor w polu, private int _i;a następnie w menu Edycja lub RMB - Refaktoryzuj - Encapsulate Field ... ( CtrlR, CtrlE), aby utworzyć standardowe akcesoria do właściwości.


1
Nie wszyscy używają tego samego układu klawiatury (nie wspominając o ReSharper i in.). Warto dodać miejsce, w którym można znaleźć tę samą funkcjonalność w menu.
— sliderhouserules,

11

Wpisz „propfull”. Jest o wiele lepszy w użyciu i wygeneruje właściwość i zmienną prywatną.

Wpisz „propfull”, a następnie TABdwa razy.


1
Dlaczego pełne właściwości są lepsze niż właściwości automatyczne? Po co zaśmiecać kod dodatkowym polem?
— Kyle Delaney,

1
Na wypadek, gdybyś musiał zrobić coś w secie lub getterze.
— Joe

8

Po wpisaniu „prop” + Tab+, Tabzgodnie z sugestią Amry, możesz od razu wpisać typ właściwości (która zastąpi domyślną int), wpisz inną kartę i wpisz nazwę właściwości (która zastąpi domyślną MyProperty). Zakończ naciskając Enter.


6

Myślę, że Alt+ R+ Fjest poprawny do tworzenia właściwości z deklaracji zmiennej


2
+1 TO właśnie tego szukałem, ponieważ tworzy on właściwości istniejących zmiennych, dzięki!
— AgentKnopf

1
hm .. to dla mnie minimalizuje pliki. To nie zadziałało zgodnie z przeznaczeniem dla VS2012
— Ammar

6

Zacznij od:

private int myVar;

Po wybraniu „myVar” i kliknięciu prawym przyciskiem myszy, a następnie wybierz „Refaktoryzuj” i wybierz „Encapsulate Field”.

Automatycznie utworzy:

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

Lub możesz to zrobić, naciskając Ctrl+ R+ E.


Jaka wersja Visual Studio? Nie wydaje się, aby był w Visual Studio 2008.
— Peter Mortensen

Różne opcje refaktoryzacji kodu zostały dostarczone wraz z VS 2010. Musisz używać nowszej wersji.
— Emrah Esmeroğlu

3

Kiedy piszesz w Visual Studio,

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

ReSharper będzie nadal sugerował konwersję do:

public string TypeString => Type.ToString();

Ale myślę, że pierwszy jest bardziej czytelny niż sugeruje
— ReSharper

3
Jak to odpowiada na pytanie?
— Peter Mortensen

3

W IDE podobało mi się to, że mogłem napisać kilka zmiennych, takich jak:

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

Zauważ, że nazwy zmiennych zaczynają się od małych liter, a następnie zaznacz cały blok i naciśnij Ctrl+ R, Ctrl+ E, Zastosuj. Właściwości są generowane za pomocą dużej litery:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

itp.


To tak naprawdę nie odpowiada na pytanie, prawda?
— mrun

To był rodzaj skrótu, którego szukałem, ale masz rację. Moja odpowiedź koncentruje się na tym, jak przygotować zmienne, aby przygotować właściwości bez edycji po zastosowaniu skrótu.
— Jaro64,

To był rodzaj skrótu, którego szukałem i znalazł się na tej stronie. Pierwotne pytanie brzmi: jak szybko tworzyć właściwości w C #. W wielu przypadkach użycia na podstawie tego z pewnością będzie to miejsce, w którym masz pole prywatne i chcesz uniknąć uczynienia go polem publicznym (tak jest w moim przypadku). Jeśli mam napisane moje prywatne pola (pola) i chcę jak najszybciej usunąć wszystkie nieruchomości publiczne, myślę, że to doskonale odpowiada na pytanie w tej dużej części przypadków. Simples.
— Will Croxford,

2

Wpisz P+ Tab+ Tab.

Zmień typ danych, naciśnij TAB, zmień nazwę właściwości i naciśnij End+ Enter.


2

Iść do

Narzędzia >> Opcje >> Edytor tekstu >> C # >> IntelliSense

W sekcji zachowania Snippets:

Upewnij się, że wybrano opcję „Zawsze dołączaj fragmenty”.

Mam nadzieję, że to też dla ciebie zadziała.




0

Przy użyciu VsVim fragmenty kodu wydają się działać trochę śmiesznie. Skrót, którego szukałem, kiedy tu trafiłem, jest znacznie prostszy: po typie nazwy członka{g;s;

Mam włączone automatyczne zamykanie ogranicznika, więc nawias klamrowy pojawia się na { , a wpisanie średnika uruchamia autouzupełnianie dla get i set.

Działa na VS2013 i VS2015, a VS2012 po prostu nie ma automatycznego dopasowania nawiasów klamrowych.



0

W C #:

private string studentName;

Na końcu wiersza po średniku (;) Wystarczy nacisnąć

Ctrl + R + E

Wyświetli się okno wyskakujące w następujący sposób: wprowadź opis zdjęcia tutaj Po kliknięciu przycisku Zastosuj lub naciśnięciu klawisza ENTER wygeneruje następujący kod właściwości:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

W VB:

Private _studentName As String

Na końcu wiersza (po łańcuchu) naciśnij, upewnij się, że umieściłeś _ (podkreślenie) na początku, ponieważ doda on liczbę na końcu właściwości:

Ctrl + R + E

Pojawi się to samo okno: wprowadź opis zdjęcia tutaj

Po kliknięciu przycisku Zastosuj lub naciśnięciu klawisza ENTER wygeneruje następujący kod właściwości z numerem na końcu w następujący sposób:

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

Z właściwościami liczbowymi są takie:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.