¿Cómo puedo hacer que Visual Studio auto generar apoyos para un bloque de función?
-
08-06-2019 - |
Pregunta
Podría jurar que he visto a la gente a escribir la función de encabezados y después de golpear a algunos combinación de teclas para auto-crear la función de los apoyos y inserte el cursor entre ellos, así:
void foo()_
a
void foo()
{
_
}
Es esta una característica integrada?
Solución
Echa un vistazo Resharper - es un complemento de Visual Studio con esta característica, entre muchos otros de desarrollo de la ayuda.
Ver también C# Integrador, otro add-on.
Si quieres lanzar tu propio, echa un vistazo este artículo.Loco que uno debe tener para hacer eso, sin embargo.
Otros consejos
Las herramientas se ven bien (especialmente Resharper pero en $200 y los 350 ouch!) pero terminé la grabación de una macro y de asignar a las teclas ctrl+alt+[
Macro salió como este:
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
Editar:He utilizado la grabadora de macros para hacer esto y no estaba muy mal
Esto puede ser logrado mediante el uso de fragmentos de código, algunos ya están integrados (intente escribir "svm" y golpear TAB-TAB)..
Hay una gran cantidad de información en la red sobre la creación de estos:
Tiene un google!Yo los uso un MONTÓN!:D
Echa un vistazo a visual ayudar así.
Acabo de crear uno basado en @Lucas arriba.Esta, quieres darle a Enter, luego de golpear su combinación de teclas y se va a insertar:
if ()
{
}
else
{
}
Y pondrá el cursor en el paréntesis por la instrucción 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