Come faccio a fare in Visual Studio genera automaticamente le parentesi graffe per una funzione di blocco?

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

  •  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?

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top