Verknüpfung zum Erstellen von Eigenschaften in Visual Studio?


259

Ich habe einige Leute gesehen, die sehr schnell Eigenschaften in C # erstellt haben, aber wie haben sie das gemacht?

Welche Verknüpfungen sind in Visual Studio (derzeit mit Visual Studio 2010) verfügbar, um Eigenschaften zu erstellen?

Ich benutze C #.

Beispielsweise,

public string myString {get;set;}

Antworten:


561

Sie können " prop " eingeben und dann zweimal die Tabulatortaste drücken. Das wird folgendes erzeugen.

public TYPE Type { get; set; }

Dann ändern Sie "TYP" und "Typ":

public string myString {get; set;}

Sie können auch die vollständige Eigenschaft abrufen, indem Sie "propfull" eingeben und dann zweimal auf die Registerkarte klicken. Das würde das Feld und die volle Eigenschaft erzeugen.

private int myVar;

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

7
Sie haben vergessen, es "Code Snippet" zu nennen :)
PVitt

@PVitt: Danke, ich kannte den Namen nicht :-)
Amra

12
Außerdem erstellt propg: public int MyProperty {get; privates Set; }
Amc_rtty

3
Sie können auch bearbeiten Sie den Code - Schnipsel, in dem Ordner VC # \ Snippets \ 1033 \ Visual C # \“unter Ihrem Visual Studio installieren I edited meine propfull.snippet das dahinter liegende Feld zu machen. protectedStatt private, zum Beispiel.
Paul Smith

9
Wenn Sie P und TAB nur zweimal eingeben, wird auch die Eigenschaft int erstellt.
Adnan Bhatti

78

Zusätzlich zu Amras Antwort können Sie andere Ausschnitte durch Eingabe finden

Ctrl+ K, Ctrl+X

Das ist Edit.InsertSnippet in meinem Visual Studio zugeordnet und zeigt Ihnen die vollständige Liste der verfügbaren Snippets.

Denken Sie auch daran, dass Sie Ihre eigenen Snippets mithilfe des Snippets-Managers konfigurieren können, der im ToolsMenü verfügbar ist Code Snippets Manager.... Grundsätzlich erstellen Sie eine Datei *.snippetund verwenden die Schaltfläche Importieren im Code Snippets Manager, um sie zu Visual Studio hinzuzufügen. Ein vollständiges Tutorial finden Sie in den Dokumenten. Exemplarische Vorgehensweise: Erstellen Sie ein Code-Snippet .


In Visual Studio werden Code-Snippets geringfügig anders behandelt als in Visual Studio. Sie können alle Schnipsel durch Eingabe zugreifen Ctrl+ Shift+ Pund geben snippet. Es sollten zwei Optionen verfügbar sein, Insert Snippetund Preferences: Configure User Snippets.

Ersteres fügt ein Snippet aus Ihrer Liste von Snippets ein (unter Verwendung des Sprachmodus, den Sie in der Statusleiste sehen können), und mit letzterem können Sie Ihre eigenen Snippets für jeden Sprachmodus erstellen.

Wenn Sie den Kurznamen kennen, können Sie ihn einfach eingeben und Tabzum Erweitern des Snippets verwenden. Für eine C # Eigenschaft Einfügen haben Sie drei Schnipsel zur Verfügung prop, propfullund propgfür verschiedene Zwecke.


Schön, dass es langsamer ist, aber Sie erhalten die vollständige Liste der Abkürzungen +1.
Amra

1
Ich liebe dich! habe schon eine Weile danach
gesucht

24

Platzieren Sie den Cursor in Ihrem Feld private int _i;und dann im Menü Bearbeiten oder in RMB - Refactor - Encapsulate Field ... ( CtrlR, CtrlE), um die Standardeigenschafts-Accessoren zu erstellen.


1
Nicht jeder verwendet das gleiche Tastaturlayout (ganz zu schweigen von ReSharper et al.). Es könnte sinnvoll sein, hinzuzufügen, wo Sie dieselbe Funktionalität in den Menüs finden.
Sliderhouserules

11

Geben Sie "propfull" ein. Es ist viel besser zu verwenden und generiert die Eigenschaft und die private Variable.

Geben Sie "propfull" und dann TABzweimal ein.


1
Warum sind vollständige Eigenschaften besser als automatische Eigenschaften? Warum sollten Sie Ihren Code mit einem zusätzlichen Feld überladen?
Kyle Delaney

1
Für den Fall, dass Sie etwas in Setter oder Getter tun müssen.
Joe

8

Nachdem Sie "prop" + Tab+ Tabeingegeben haben, wie von Amra vorgeschlagen, können Sie sofort den Typ der Eigenschaft eingeben (der den Standard ersetzt int), eine andere Registerkarte eingeben und den Eigenschaftsnamen eingeben (der den Standard MyProperty ersetzt). Beenden Sie durch Drücken von Enter.


6

Ich denke, Alt+ R+ Fist das richtige, um eine Eigenschaft aus einer Variablendeklaration zu erstellen


2
+1 DAS ist eigentlich das, wonach ich gesucht habe, da es Eigenschaften für vorhandene Variablen erstellt, danke!
AgentKnopf

1
hm .. es minimiert Dateien für mich. Dies funktionierte nicht wie für mich vorgesehen auf VS2012
Ammar

6

Beginne von:

private int myVar;

Wenn Sie "myVar" auswählen und mit der rechten Maustaste klicken, wählen Sie "Refactor" und dann "Encapsulate Field".

Es wird automatisch erstellt:

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

Oder Sie können es durch Drücken von Ctrl+ R+ verknüpfen E.


Welche Version von Visual Studio? Es scheint nicht in Visual Studio 2008 zu sein.
Peter Mortensen

Mit VS 2010 wurden verschiedene Code Refactoring-Optionen geliefert. Sie müssen eine neuere Version verwenden.
Emrah Esmeroğlu

3

Wenn Sie in Visual Studio schreiben,

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

ReSharper schlägt weiterhin vor, es zu konvertieren in:

public string TypeString => Type.ToString();

Aber ich denke, der erste ist besser lesbar als das, was ReSharper vorschlägt
Mahdi Alkhatib

3
Wie beantwortet dies die Frage?
Peter Mortensen

3

Was mir an der IDE gefallen hat, war, dass ich einige Variablen schreiben konnte wie:

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

Beachten Sie, dass die Variablennamen mit kleinen Buchstaben beginnen, dann den gesamten Block auswählen und Ctrl+ R, Ctrl+ E, Übernehmen drücken . Die Eigenschaften werden mit dem Großbuchstaben generiert:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

etc.


Dies beantwortet die Frage nicht wirklich, oder?
Mrun

Dies war eine Art Shorcut, nach dem ich gesucht habe, aber Sie haben Recht. Meine Antwort konzentriert sich darauf, wie die Variablen so vorbereitet werden, dass Eigenschaften nach dem Anwenden der Verknüpfung ohne Bearbeitung bereitstehen.
Jaro64

Dies war eine Art Abkürzung, nach der ich gesucht habe und die auf dieser Seite gelandet ist. Die ursprüngliche Frage ist, wie man Eigenschaften in C # sehr schnell erstellt. In vielen Anwendungsfällen, in denen dies sicherlich der Fall ist, haben Sie hier ein privates Feld und möchten vermeiden, dass dies ein öffentliches Feld wird (dies ist mein Fall). Wenn ich meine privaten Felder geschrieben habe und so schnell wie möglich vollständige öffentliche Eigenschaften haben möchte, denke ich, dass dies die Frage in dieser großen Teilmenge von Fällen perfekt beantwortet. Einfache.
Will Croxford

2

Geben Sie P+ Tab+ ein Tab.

Ändern Sie den Datentyp, drücken Sie TAB, ändern Sie den Eigenschaftsnamen und drücken Sie End+ Enter.


2

Gehe zu

Extras >> Optionen >> Texteditor >> C # >> IntelliSense

Unter dem Abschnitt Verhalten von Snippets:

Stellen Sie sicher, dass "Snippets immer einschließen" ausgewählt ist.

Ich hoffe es funktioniert auch bei dir.




0

Mit VsVim scheinen die Codefragmente ein wenig lustig zu funktionieren. Die Verknüpfung, nach der ich gesucht habe, als ich hier gelandet bin, ist viel einfacher: nach einem Mitgliedsnamen{g;s;

Ich habe das automatische Schließen des Trennzeichens aktiviert, sodass die schließende Klammer aktiviert {ist und die Eingabe eines Semikolons eine automatische Vervollständigung für get und set auslöst.

Es funktioniert mit VS2013 und VS2015, und VS2012 fehlt nur die automatische Klammeranpassung.



0

In C #:

private string studentName;

Am Ende der Zeile nach dem Semikolon (;) Drücken Sie einfach

Ctrl + R + E

Es wird ein Popup-Fenster wie Geben Sie hier die Bildbeschreibung ein das folgende angezeigt: Wenn Sie auf Übernehmen klicken oder die EINGABETASTE drücken, wird der folgende Eigenschaftscode generiert:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

In VB:

Private _studentName As String

Am Ende der Zeile (nach der Zeichenfolge) Drücken Sie , stellen Sie sicher , dass Sie _ (Unterstrich) am Anfang platzieren, da am Ende der Eigenschaft eine Zahl hinzugefügt wird:

Ctrl + R + E

Das gleiche Fenster wird angezeigt: Geben Sie hier die Bildbeschreibung ein

Wenn Sie auf Übernehmen klicken oder die EINGABETASTE drücken, wird der folgende Eigenschaftscode mit der Nummer am Ende wie folgt generiert:

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

Mit Nummer Eigenschaften sind wie folgt:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.