J'étais en train de taper un commutateur avec une énumération dans VS 2013 et toutes les instructions de cas se sont complétées automatiquement après avoir terminé le commutateur. Maintenant, je ne peux pas le répéter. Je n'étais pas hallucinant, l'interrupteur rempli avec toutes les options enum, une par cas, automatiquement. A examiné la documentation de MS 2013 pour VS 2013 et ne l'a pas trouvé.
J'utilise pas mal d'énums et cette fonctionnalité me fera gagner beaucoup de temps si je peux trouver ce que j'ai fait pour le déclencher. Quelqu'un peut-il aider?
Utilisez l'extrait de code sw (tabtab)
J'espère que cela t'aides,
Avis: Cette réponse s'applique à l'exécution de la génération automatique switch/enum en utilisant également Resharper.
À l'aide de Visual Studio 2013 et Resharper 8.2, les méthodes mentionnées précédemment ne fonctionnent pas. Voici comment faire fonctionner cette génération avec Resharper. Espérons que cela épargnera à quelqu'un les quinze minutes que je viens de passer à comprendre cela.
L'exécution de "sw (onglet) (onglet)" générera uniquement les éléments suivants:
switch (nameOfEnumVariable)
{
}
Resharper peut générer les étiquettes à l'aide de Alt + Entrée (si votre curseur se trouve dans l'instruction switch) et en sélectionnant Générer les étiquettes de commutateur comme dans la capture d'écran suivante:
Le résultat ressemble à ceci:
La réponse sélectionnée est généralement correcte, vous n'avez pas besoin de Resharper comme l'ont suggéré d'autres (du moins pas avec Visual Studio Professional 2012+).
1) tapez "sw" puis "[tab] [tab]" (comme Marvin Smit
m'a dit)
Ce qui (comme jmblack
dit) générera quelque chose comme:
switch (switch_on)
{
default:
}
mais alors
2) vous devez sélectionner la chose à énumérer (switch_on
sera mis en évidence encore à ce stade). Tapez donc Enum (ou votre variable du type enum) pendant que switch_on
est mis en évidence et appuyez sur [Entrée] [Entrée].
(Je viens de confirmer que cela fonctionnait sur ma machine fonctionnant sous VS2012, et je suis à peu près certain que c'est la même chose que sur mon autre machine fonctionnant sous VS2013 et que je n'ai pas testé d'autres versions de VS (ultimate/express/etc. ))
Visual studio express 2012 - sans Resharper:
1) écrivez "switch"
2) appuyez deux fois sur la touche de tabulation, vous verrez alors:
switch (switch_on)
{
default:
}
(switch_on est en surbrillance)
3) retaper switch_on sur votre type ENUM (pas une variable de votre type enum, cela n'a pas fonctionné pour moi)
4) cliquez quelque part ailleurs ou appuyez sur entrée, vous devriez maintenant voir tous les éléments enum remplis:
switch (YOUR_ENUM_TYPE)
{
case YOUR_ENUM_TYPE.Item1:
break;
case YOUR_ENUM_TYPE.Item2:
break;
case YOUR_ENUM_TYPE.Item3:
break;
default:
break;
}
5) n'oubliez pas de changer l'entrée de votre commutateur.
Par défaut, l'extrait de Visual Studion fonctionne correctement. Vous devez taper "sw" puis appuyer deux fois sur "Tab".
Si vous utilisez Resharper, l'extrait de code ne fonctionne pas, car l'extrait de code de Resharper a plus de priorité, par défaut. Donc, vous devriez désactiver l'extrait de resharper.
Allez dans "Resharper" -> "Explorateur de modèles" -> "C #" puis décochez "switch". Essayez "sw" + double "onglet"
J'ai écrit une extension gratuite et open source, basée sur Roslyn , pour Visual Studio 2015 et 2017, qui permet non seulement de remplir le cas d'un commutateur, mais également d'ajouter de nouveaux cas. si des valeurs enum (champs) ont été ajoutées à la définition du type enum, ou triez la liste des observations par valeur ou par nom.
Il est disponible ici: Enum Case Generator
Voici comment l'utiliser:
Je pense que ce dont vous avez besoin est ceci:
sw(tab)(tab)enumVariableName(tab)(downArrow)
Je l'ai testé et fonctionne (au moins en VS2013).
Bonjour, je viens de rencontrer le même problème, je viens de découvrir que lorsque vous le faites:
switch(nameofvariable){
default:
break;
}
lorsque vous remplissez la variable et que vous double-cliquez sur la variable de votre choix (l'énum), vous obtenez tous les cas.