Come faccio a fare in Visual Studio genera automaticamente le parentesi graffe per una funzione di blocco?
-
08-06-2019 - |
Domanda
Potrei giurare ho visto persone che digitano funzione di intestazioni e poi colpire qualche combinazione di tasti per creare automaticamente la funzione di parentesi graffe e inserire il cursore tra di loro in questo modo:
void foo()_
per
void foo()
{
_
}
È questo un built-in funzione?
Soluzione
Check out Resharper - si tratta di una Visual Studio add-on con questa caratteristica, tra le molte altre di sviluppo aiuta.
Vedi anche C# Completer, un altro add-on.
Se si desidera ripristinare il vostro proprio, check-out questo articolo.Folle che si dovrebbe avere per farlo, anche se.
Altri suggerimenti
Gli strumenti di aspetto gradevole (soprattutto Resharper ma a $200-350 ouch!) ma ho finito solo la registrazione di una macro e l'assegnazione di tasti ctrl+alt+[
Macro è venuto fuori come questo:
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
Edit:Ho usato il registratore di macro per fare questo e non era troppo male
Esso può essere ottenuto utilizzando frammenti di codice, alcuni sono già incorporati (provate a digitare "svm" e premendo SCHEDA-SCHEDA)..
C'è una ricchezza di informazioni in rete sulla creazione di questi:
Jeff ha fatto un post a se stesso qui
Avere un google!Io li uso un SACCO!:D
Guarda visual assist come bene.
Ho appena creato una base su @Luca sopra.Questo, si desidera premere Invio quindi premere la combinazione di tasti e inserire:
if ()
{
}
else
{
}
E mettere il cursore nella parentesi con l'istruzione 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