11 Stimmen

Wie kann ich Visual Studio dazu bringen, automatisch geschweifte Klammern für einen Funktionsblock zu erzeugen?

Ich könnte schwören, dass ich schon Leute gesehen habe, die Funktionsköpfe eintippen und dann irgendeine Tastenkombination drücken, um automatisch Funktionsklammern zu erzeugen und den Cursor dazwischen einzufügen:

void foo()_

zu

void foo()
{
    _
}

Ist dies eine eingebaute Funktion?

6voto

Luke Punkte 18175

Die Tools sehen nett aus (vor allem Resharper, aber für $200-350, autsch!), aber ich habe einfach ein Makro aufgenommen und es Strg+Alt+[ zugewiesen.

Das Makro sah folgendermaßen aus:

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: Ich habe den Makrorekorder benutzt, um dies zu machen, und es war nicht allzu schlecht

5voto

pc1oad1etter Punkte 8229

Vérifiez Resharper - es ist ein Visual Studio Add-on mit dieser Funktion, neben vielen anderen Entwicklungshilfen.

Siehe auch C#-Komplettierer , ein weiteres Add-on.

Wenn Sie Ihre eigene Rolle drehen wollen, schauen Sie unter dieser Artikel . Allerdings ist es verrückt, dass man das tun muss.

2voto

Rob Cooper Punkte 28132

Es kann durch die Verwendung von Codeschnipseln erreicht werden, einige sind bereits eingebaut (versuchen Sie, "svm" einzugeben und TAB-TAB zu drücken).

Im Internet gibt es eine Fülle von Informationen über die Erstellung dieser Dokumente:

Jeff hat hier selbst einen Beitrag verfasst

Googeln Sie doch mal! Ich benutze sie LOS! :D

2voto

David McGraw Punkte 5137

Werfen Sie einen Blick auf visuelle Unterstützung auch.

0voto

PCPGMR Punkte 340

Ich habe gerade einen erstellt, der auf dem obigen von @Luke basiert. In diesem Fall müssen Sie die Eingabetaste drücken und dann Ihre Tastenkombination, um sie einzufügen:

if ()
{

}
else
{

}

Der Cursor steht dann in der Klammer bei der if-Anweisung.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X