Comment faire en sorte que Visual Studio génère automatiquement des accolades pour un bloc fonctionnel ?

StackOverflow https://stackoverflow.com/questions/9486

  •  08-06-2019
  •  | 
  •  

Question

Je pourrais jurer avoir vu des gens taper des en-têtes de fonction, puis appuyer sur une combinaison de touches pour créer automatiquement des accolades de fonction et insérer le curseur entre elles comme ceci :

void foo()_

à

void foo()
{
    _
}

Est-ce une fonctionnalité intégrée ?

Était-ce utile?

La solution

Vérifier Affûteur - il s'agit d'un module complémentaire de Visual Studio avec cette fonctionnalité, parmi de nombreuses autres aides au développement.

Regarde aussi Complément C#, un autre module complémentaire.

Si vous voulez rouler le vôtre, consultez Cet article.Mais c’est fou qu’on doive faire ça.

Autres conseils

Les outils ont l'air sympa (surtout Resharper mais à 200-350 $ aïe !) mais j'ai fini par enregistrer une macro et l'attribuer à ctrl+alt+[

La macro est sortie comme ceci :

Sub FunctionBraces()
    DTE.ActiveDocument.Selection.NewLine
    DTE.ActiveDocument.Selection.Text = "{}"
    DTE.ActiveDocument.Selection.CharLeft
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.LineUp
    DTE.ActiveDocument.Selection.Indent
End Sub

Modifier:J'ai utilisé l'enregistreur de macros pour faire ça et ce n'était pas trop mal

Cela peut être réalisé en utilisant des extraits de code, certains sont déjà intégrés (essayez de taper "svm" et d'appuyer sur TAB-TAB).

Il existe une multitude d'informations sur le net pour les créer :

Jeff a lui-même publié un message ici

Ayez un google !Je les utilise BEAUCOUP !:D

Jeter un coup d'œil à assistance visuelle aussi.

Je viens d'en créer un basé sur celui de @Luke ci-dessus.Celui-ci, vous voulez appuyer sur Entrée puis appuyer sur votre combinaison de touches et il insérera :

if ()
{

}
else
{

}

Et il placera votre curseur entre parenthèses à côté de l'instruction if.

Sub IfStatement()
    DTE.ActiveDocument.Selection.Text = "if ()"
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.Text = "{"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "}"
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.Text = "else"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "{"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "}"
    DTE.ActiveDocument.Selection.LineUp(False, 7)
    DTE.ActiveDocument.Selection.EndOfLine()
    DTE.ActiveDocument.Selection.CharLeft(3)
End Sub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top