Wie veranlasse ich, dass Visual Studio automatisch geschweifte Klammern für einen Funktionsblock generiert?
-
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?
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