Como faço para tornar o Visual Studio automaticamente gerar chaves para um bloco de função?

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

  •  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?

Foi útil?

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:

Jeff fez um post próprio aqui

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top