Wie veranlasse ich, dass Visual Studio automatisch geschweifte Klammern für einen Funktionsblock generiert?

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

  •  08-06-2019
  •  | 
  •  

Frage

Ich könnte schwören, dass ich Leute gesehen habe, die Funktionsüberschriften eingegeben und dann eine Tastenkombination gedrückt haben, um automatisch Funktionsklammern zu erstellen und den Cursor wie folgt dazwischen einzufügen:

void foo()_

Zu

void foo()
{
    _
}

Ist das eine integrierte Funktion?

War es hilfreich?

Lösung

Kasse Nachschärfer – Es handelt sich neben vielen anderen Entwicklungshilfen um ein Visual Studio-Add-on mit dieser Funktion.

Siehe auch C#-Vervollständiger, ein weiteres Add-on.

Wenn Sie Ihr eigenes rollen möchten, schauen Sie vorbei Dieser Artikel.Aber es ist verrückt, dass man das tun muss.

Andere Tipps

Die Tools sehen gut aus (besonders Resharper, aber für 200–350 $ autsch!), aber am Ende habe ich einfach ein Makro aufgezeichnet und es Strg+Alt+[ zugewiesen.

Das Makro kam so heraus:

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

Bearbeiten:Ich habe dazu den Makrorecorder verwendet und es war nicht so schlimm

Dies kann durch die Verwendung von Codefragmenten erreicht werden, von denen einige bereits integriert sind (versuchen Sie, „svm“ einzugeben und TAB-TAB zu drücken).

Im Internet gibt es eine Fülle von Informationen zum Erstellen dieser:

Jeff hat hier selbst einen Beitrag verfasst

Googeln Sie mal!Ich benutze sie VIEL!:D

Schauen Sie mal rein visuelle Unterstützung sowie.

Ich habe gerade eines basierend auf @Lukes oben erstellt.In diesem Fall müssen Sie die Eingabetaste drücken und dann Ihre Tastenkombination drücken. Daraufhin wird Folgendes eingefügt:

if ()
{

}
else
{

}

Und es wird Ihren Cursor in die Klammer der if-Anweisung setzen.

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top