Como faço para tornar o Visual Studio automaticamente gerar chaves para um bloco de função?
-
08-06-2019 - |
Pergunta
Eu poderia jurar que eu vi as pessoas a escrever cabeçalhos de função e, em seguida, bater alguns combinação de teclas para criar automaticamente a função de aparelho e insira o cursor entre eles, como por exemplo:
void foo()_
para
void foo()
{
_
}
Este é um recurso interno?
Solução
Confira Resharper - é um suplemento do Visual Studio com esse recurso, entre muitas outras de desenvolvimento ajuda.
Veja também C# Completo, outro add-on.
Se você quer construir sua própria, confira este artigo.Insano que um deve ter para fazer isso, no entanto.
Outras dicas
As ferramentas de boa aparência (especialmente Resharper mas em $200-350 ouch!) mas acabei apenas a gravação de uma macro e atribuir ctrl+alt+[
Macro saiu assim:
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:Eu usei o gravador de macro para fazer isso e ele não foi tão ruim
Ele pode ser conseguido pelo uso de trechos de código, alguns já estão integrados (tente digitar "svm" e bater ABA-ABA)..
Há uma riqueza de informações na net sobre como criar essas:
Ter um google!Eu usá-los MUITAS!:D
Dê uma olhada no o visual ajudar bem.
Eu acabei de criar um baseado no @Lucas acima.Esse, você quer bater Enter, em seguida, bateu a combinação de teclas e irá inserir:
if ()
{
}
else
{
}
E ele vai colocar o cursor no parêntese pela instrução se.
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