2008-11-21 8 views
4

Chaque fois que je crée une signature de méthode dans VS 2008 (C#), je tape les deux accolades:Comment positionner automatiquement le curseur ENTRE accolades de méthodes après avoir tapé l'accolade fermante en C#?

Quelque chose public void() {}

Cela laisse le curseur à droite de l'accolade de fermeture. Ensuite, je dois utiliser les touches fléchées pour repositionner le curseur entre les accolades. Y at-il une meilleure façon de le faire sans utiliser les touches fléchées?

Je m'attendrais à placer le curseur entre les accolades lorsque je tape la fermeture afin que je puisse commencer à taper du code.

+0

Vous devriez vraiment marquer la bonne réponse en tant que tel, donnant le créditeur répondeur. – Squirrelkiller

Répondre

2

Je crois que Resharper le fait. Je ne sais pas s'il y a une option gratuite.

0

Vous pouvez enregistrer une macro qui insère}, puis déplace le curseur, puis affecte la macro à la combinaison de touches Maj +], de sorte que votre accolade de fermeture exécute toujours votre macro.

0

CodeRush fait cela aussi.

6

Je n'ai pas de vs2008 pour le moment. En supposant que VS2008 supporte encore cela, vous pouvez utiliser des extraits de code. Mess avec ci-dessous jusqu'à ce que vous obtenez ce dont vous avez besoin. (Voir Outils | Code Snippets Directeur)

<?xml version="1.0" encoding="utf-8" ?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
     <Header> 
      <Title>b</Title> 
      <Shortcut>b</Shortcut> 
      <Description>Braces with cursor inside</Description> 
      <Author>CrashCodes</Author> 
     </Header> 
     <Snippet> 
      <Code Language="csharp"><![CDATA[{ 
        $end$ 
      }]]> 
      </Code> 
     </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 
+1

réponse correcte (+1) – Juri

+0

Marquer cette réponse comme la bonne réponse s'il vous plaît. –

1

Voici une macro pour faire insérer des accolades après le curseur et placez le curseur sur la ligne entre les

Sub InsertCurlyBraces() 
    DTE.ActiveDocument.Selection.NewLine() 
    DTE.ActiveDocument.Selection.Text = "{" 
    DTE.ActiveDocument.Selection.NewLine(2) 
    DTE.ActiveDocument.Selection.Text = "}" 
    DTE.ActiveDocument.Selection.LineUp() 
End Sub 
Questions connexes