Je me trouve toujours dans l'obligation de mettre un bloc de code entre accolades {} , mais malheureusement, cela ne figure pas dans les extraits de code surround C #, ce qui semble être un oubli. Je n'ai rien trouvé non plus sur la création de vos propres extraits surround (juste d'autres types d'extraits).
En fait, je cours aussi avec Resharper, mais il ne semble pas avoir cette fonctionnalité non plus (ou je n’ai pas trouvé comment l’activer).
Nous avons une norme de codage consistant à inclure même une seule ligne de code après un si ou autre entre accolades, donc si je pouvais simplement faire en sorte que Resharper fasse cette refactorisation automatiquement, ce serait: encore mieux!
Voici un extrait rapide et sale pour faire exactement cela.
À installer:
Enregistrez le code sous SurroundWithBraces.snippet
dans "<my documents>\Visual Studio Version\Code Snippets\Visual C#\My Code Snippets"
Utiliser:
Sélectionnez un bloc de texte.
Appuyez sur Ctrl+K, Ctrl+S
A choisi mes extraits de code, accolades
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.Microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>braces</Title>
<Shortcut>braces</Shortcut>
<Description>Code snippet to surround a block of code with braces</Description>
<Author>Igor Zevaka</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Code Language="csharp">
<![CDATA[{
$selected$ $end$
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Dans ReSharper 4.5, les accolades sont incluses dans l'un des "modèles Surround" intégrés:
ReSharper -> Code -> Surround
With... -> {}
ou
ALT + R -> C -> S -> 7
ou
Ctrl+E, U -> 7
(schéma Visual Studio)
ou
Ctrl+Alt+J -> 7
(schéma ReSharper 2.x/IDEA)
Que diriez-vous:
Ctrl-X, {, Ctrl-V, }
Vous pouvez même lier cela à une macro.
Dans VS2015, une fonctionnalité expérimentale la prend en charge en sélectionnant le texte, puis en la saisissant}.
Voir ici comment activer.
Créez votre propre extrait de code personnalisé pour le faire. Vous pouvez utiliser snippy pour créer votre propre http://blogs.msdn.com/gusperez/articles/93681.aspx Ou utilisez simplement un éditeur XML pour en créer un.
Placez le fichier dans Mes documents\Visual Studio XXXX\Extraits de code\C #\Mes extraits de code
Pour compléter la réponse de Ray Vega, pour ceux qui utilisent Resharper, j'ai compris que vous pouvez associer un raccourci aux commandes Resharper.
Faites juste ce qui suit (j'utilise VS 2010):
allez dans Outils-> Options
Dans la zone de liste, développez Environnement et cliquez sur Clavier.
Dans le champ "Afficher les commandes contenant:" entrez "resharper.resharper_surroundwith"
Dans le champ sous "Appuyez sur les touches de raccourci", entrez votre raccourci (par exemple: je choisis Ctrl + R, Ctrl + S) et cliquez sur Affecter, puis sur Ok.
C'est tout. vous pouvez sélectionner votre code et taper ce raccourci pour afficher toutes les commandes Resharper SurroundWith. Il suffit d'entrer 7 pour mettre des accolades.
Vous pouvez envelopper un bloc de code avec des accolades
Je sais que c'est une vieille question mais j'espère que cela aidera quelqu'un
Edit: Cela s’avère faire partie de DxCore, de DevExpress. Partir d'ici pour que les autres le remarquent, mais au fond, j'avais tort. Pour faire disparaître ce menu particulier, désactivez-le dans la boîte de dialogue "Ajouts"; le déchargement devexpress de leur propre menu décharge simplement CodeRush/Refactor, pas les bibliothèques de support de base.
Le est (pas!) une manière intégrée de le faire. Je ne sais pas si vous pouvez lier une clé ou non. En outre, cette intégration ne fait rien si vous ne sélectionnez qu'une seule ligne, donc cela ne fonctionnera probablement pas correctement si vos données sont sur une seule ligne après le "if".
Remarque: DexExpress est installé sur mon ordinateur, mais ce menu est disponible même lorsqu'il n'est pas chargé. Je peux jurer qu'il est présent même s'il n'est pas installé. Cependant, si je me trompe ...
Cela semble honnêtement quelque chose qu'il serait préférable de demander à r #, peut-être qu'un utilisateur contribue?