Raccourci pour créer des propriétés dans Visual Studio?


260

J'ai vu des gens créer des propriétés en C # très rapidement, mais comment l'ont-ils fait?

Quels raccourcis sont disponibles dans Visual Studio (qui utilise actuellement Visual Studio 2010) pour créer des propriétés?

J'utilise C #.

Par exemple,

public string myString {get;set;}

Réponses:


561

Vous pouvez taper " prop " puis appuyer deux fois sur tab. Cela générera ce qui suit.

public TYPE Type { get; set; }

Ensuite, vous modifiez "TYPE" et "Type":

public string myString {get; set;}

Vous pouvez également obtenir la propriété complète en tapant "propfull" puis en tabulant deux fois. Cela générerait le champ et la propriété complète.

private int myVar;

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

7
Vous avez oublié de le nommer "Code Snippet" :)
PVitt

@PVitt: Merci je ne connaissais pas le nom :-)
Amra

12
aussi, propg créera: public int MyProperty {get; ensemble privé; }
Amc_rtty

3
Vous pouvez également modifier l'extrait de code, dans le dossier VC # \ Snippets \ 1033 \ Visual C # \ "sous votre installation de Visual Studio. J'ai modifié mon propfull.snippet pour faire le champ de support protectedau lieu de private, par exemple.
Paul Smith

9
Si vous tapez simplement P et TAB deux fois, cela créera également une propriété int.
Adnan Bhatti

78

En plus de la réponse d' Amra , vous pouvez trouver d'autres extraits en tapant

Ctrl+ K, Ctrl+X

Qui est mappé sur Edit.InsertSnippet dans mon Visual Studio et vous montre la liste complète des extraits disponibles.

Souvenez - vous également que vous pouvez configurer vos propres extraits en utilisant le gestionnaire Snippets, qui est disponible dans le Toolsmenu, Code Snippets Manager.... Fondamentalement, vous créez un fichier *.snippetet utilisez le bouton Importer dans le Gestionnaire d'extraits de code pour l'ajouter à Visual Studio. Pour un tutoriel complet, vous pouvez aller dans la documentation;Procédure pas à pas: créez un extrait de code .


Dans Visual Studio Code, les extraits de code sont légèrement différents de ceux de Visual Studio. Vous pouvez accéder à tous les extraits en tapant Ctrl+ Shift+ Pet en tapant snippet. Deux options devraient être disponibles,Insert Snippet et Preferences: Configure User Snippets.

Le premier insère un extrait de votre liste d'extraits (en utilisant le mode langue que vous pouvez voir dans la barre d'état), et avec le dernier, vous pouvez créer vos propres extraits pour n'importe quel mode langue.

Si vous connaissez le nom abrégé, vous pouvez simplement le saisir et l'utiliser Tabpour développer l'extrait de code. Pour insérer une propriété C # , vous avez trois extraits disponibles, prop, propfullet propg, à des fins différentes.


C'est bien plus lent mais vous obtenez la liste complète des raccourcis +1.
Amra

1
Je t'aime! cherchait cela depuis un moment maintenant
SageMage

24

Placez le curseur à l'intérieur de votre champ private int _i;, puis dans le menu Edition ou RMB - Refactor - Encapsulate Field ... ( CtrlR, CtrlE) pour créer les accesseurs de propriété standard.


1
Tout le monde n'utilise pas la même disposition de clavier (sans parler de ReSharper et al). Cela pourrait être bon d'ajouter où vous pouvez trouver cette même fonctionnalité dans les menus.
sliderhouserules

11

Tapez "propfull". Il est beaucoup mieux utilisé et il générera la propriété et la variable privée.

Tapez "propfull" puis TABdeux fois.


1
Pourquoi les propriétés complètes sont-elles meilleures que les propriétés automatiques? Pourquoi encombrer votre code avec un champ supplémentaire?
Kyle Delaney

1
Au cas où vous auriez besoin de faire quelque chose en setter ou getter.
joe

8

Après avoir tapé "prop" + Tab+ Tabcomme suggéré par Amra, vous pouvez immédiatement taper le type de la propriété (qui remplacera la valeur par défaut int), tapez un autre onglet et tapez le nom de la propriété (qui remplacera la propriété par défaut MyProperty). Terminez en appuyant sur Enter.


6

Je pense que Alt+ R+ Fest le bon pour créer une propriété à partir d'une déclaration de variable


2
+1 CECI est en fait ce que je cherchais, car il crée des propriétés pour les variables existantes, merci!
AgentKnopf

1
hm .. il réduit les fichiers pour moi. Cela n'a pas fonctionné comme prévu pour moi sur VS2012
Ammar

6

Commencer à partir de:

private int myVar;

Lorsque vous sélectionnez "myVar" et faites un clic droit puis sélectionnez "Refactor" et sélectionnez "Encapsuler le champ".

Il créera automatiquement:

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

Ou vous pouvez le raccourcir en appuyant sur Ctrl+ R+ E.


Quelle version de Visual Studio? Il ne semble pas être dans Visual Studio 2008.
Peter Mortensen

Diverses options de refactorisation de code sont fournies avec VS 2010. Vous devez utiliser une version plus récente.
Emrah Esmeroğlu

3

Lorsque vous écrivez dans Visual Studio,

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

ReSharper continuera à suggérer de le convertir en:

public string TypeString => Type.ToString();

Mais je pense que le premier est plus lisible que ce que ReSharper suggère
Mahdi Alkhatib

3
Comment cela répond-il à la question?
Peter Mortensen

3

Ce que j'ai aimé dans l'IDE, c'est que j'ai pu écrire quelques variables comme:

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

Notez que les noms de variables commencent par des petites lettres, puis sélectionnez le bloc entier et appuyez sur Ctrl+ R, Ctrl+ E, Appliquer. Les propriétés sont générées avec la lettre majuscule:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

etc.


Cela ne répond pas vraiment à la question, n'est-ce pas?
mrun

C'était une sorte de raccourci que je cherchais, mais vous avez raison. Ma réponse se concentre sur la façon de préparer les variables pour que les propriétés soient prêtes sans modification après avoir appliqué le raccourci.
Jaro64

C'était une sorte de raccourci que je cherchais, et je me suis retrouvé sur cette page. La question d'origine est de savoir comment créer des propriétés en C # très rapidement. Dans de nombreux cas d'utilisation en vertu de cela, ce sera certainement là que vous avez un champ privé et que vous voulez éviter d'en faire un domaine public (c'est mon cas). Si j'ai mon (mes) champ (s) privé (s) écrit (s), et que je veux des propriétés publiques complètes vers le bas dès que possible, je pense que cela répond parfaitement à la question dans ce grand sous-ensemble de cas. Simples.
Will Croxford

2

Type P+ Tab+Tab .

Modifiez le type de données, appuyez sur TAB, modifiez le nom de la propriété et appuyez sur End+ Enter.


2

Aller à

Outils >> Options >> Éditeur de texte >> C # >> IntelliSense

Dans la section Comportement des extraits:

Assurez-vous que "Toujours inclure des extraits" est sélectionné.

J'espère que ça marche aussi pour vous.




0

En utilisant VsVim, les extraits de code semblent fonctionner un peu drôle. Le raccourci que je cherchais lorsque je me suis retrouvé ici est beaucoup plus simple: après un type de nom de membre{g;s;

J'ai la fermeture automatique du délimiteur activée, donc l'accolade de fermeture apparaît sur { , et la saisie d'un point-virgule déclenche une saisie semi-automatique pour get et set.

Il fonctionne sur VS2013 et VS2015, et VS2012 n'a tout simplement pas la correspondance automatique des accolades.



0

En C #:

private string studentName;

À la fin de la ligne après le point-virgule (;) Appuyez simplement sur

Ctrl + R + E

Il affichera une fenêtre contextuelle comme celle-ci: entrez la description de l'image ici En cliquant sur Appliquer ou en appuyant sur ENTRÉE, il générera le code de propriété suivant:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

En VB:

Private _studentName As String

À la fin de la ligne (après la chaîne) Appuyez sur, assurez-vous de placer _ (trait de soulignement) au début car cela ajoutera un numéro à la fin de la propriété:

Ctrl + R + E

La même fenêtre apparaîtra: entrez la description de l'image ici

En cliquant sur Appliquer ou en appuyant sur ENTRÉE, il générera le code de propriété suivant avec un numéro à la fin comme ceci:

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

Avec des propriétés de nombre sont comme ceci:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.