sábado, 7 de junho de 2008

Criando macros para agilizar rotinas do Visual Studio

Um recurso muito útil mas pouco utilizado são as macros do Visual Studio, a utilização de macros pode ajudar a resolver grandes problemas com maior agilidade e pouco esforço.
Vamos ver um exemplo de como criar um comentário para o cabeçalho de classes personalizado.
Primeiramente abra o Visual Studio, vá em Tools > Macros > Macro Explore, ou utilize as teclas de atalho Alt + F8. Caso o Module 1 não esteje criado, clique com o botão direito sobre MyMacros > New Module... digite Comentarios, no contrário renomei o Module 1 para Comentarios clicando com o botão direito sobre ele e selecionando a opção Rename.
Após configurar o nome do módulo clique com o botão direito sobre o ele e selecione a opção Edit, percebe que outro Visual Studio será aberto, se trata do Visual Studio Macros utilizado especificamente para tratamento de Macros. Após abri-lo, dentro do módulo Comentarios, insira o código abaixo:


Sub ComentarioCabecalhoClasse()
Dim textSelection As EnvDTE.TextSelection
textSelection = DTE.ActiveWindow.Selection
textSelection.StartOfDocument(False)
textSelection.Insert("/**************************************************************")
textSelection.NewLine()
textSelection.NewLine()
textSelection.Insert("Description: [Descrição da Classe]")
textSelection.NewLine()
textSelection.NewLine()
textSelection.Insert("Creation Date: " & DateTime.Now.ToLongDateString())
textSelection.NewLine()
textSelection.NewLine()
textSelection.Insert("Author: " & System.Environment.UserName.ToUpper() & " $ ")
textSelection.NewLine()
textSelection.NewLine()
textSelection.Insert("All Rigths Reserved - :)")
textSelection.NewLine()
textSelection.NewLine()
textSelection.Insert("**************************************************************/")
textSelection.NewLine()
DTE.ActiveDocument.Save()
End Sub

Salve o arquivo e feche o Visual Studio Macros.
Você pode perceber que a macro criada já se encontra disponível no Macro Explorer. Antes de visualizar a sua macro em ação vamos estudar o código copiado.
1) Para quem nunca programou em VB.Net ou até mesmo VB deve estar um pouco desepcionado, mas é isso mesmo, as macros são criadas em VB.Net.
2) O comando textSelection.Insert é responsável em inserir o seu conteúdo na linha onde o cursor estiver posicionado, já o comando textSelection.NewLine() é responsável em criar um linha abaixo do ponto onde este estiver posicionado. O comando DTE.ActiveDocument.Save() é responsável em salvar o documento.
Agora crie um arquivo com a extensão *.cs, posicione o cursor no começo do documento, clique com o botão direito sobre a sua macro a acione a opção Run e veja o resultado:



Para facilitar ainda mais a utilização da sua macro você pode adicioná-la ao Toolbar do Visual Studio.Para adicionar a macro ao Toolbar clique em Tools > Customize...


Em seguida acione o botão New.. e crie um novo Toolbar chamado MyToolbar. Agora click sobre a aba Commands e em seguida sobre o botão Rearrange Commands...

Agora selecione a opção Toolbar e na lista ao lado selecione o item MyToolbar. Click sobre o botão Add..., na lista Categories selecione o item Macros e em seguida a macro ComentarioCabecalhoClasse:


Clique sobre a macro adicionada e altere a opção Name do botão Modify Selection:

Agora é só arrastar o toolbar na área do Visual Studio do seu interesse e utilizar quando desejar.


Considerações Finais.
Perceba que o comentário que criamos só funciona em arquivos *.cs, se você trabalha com Vb.Net por exemplo, teria que criar uma nova macro utilizando por exemplo (‘) e adicioná-lo ao módulo Comentários.
Outra forma de se criar macros no Visual Studio é utilizando o Record TemporaryMacro, uma vez que esteja habilitado, ele gravará todas as ações que você executar no Visual Studio e poderá se utilizada novamente temporariamente ou gravá-la definitivamente selecionando a opção Save TemporaryMacro.
As possibilidade de ações que podem ser feitas utilizando os recursos de macros são enormes, a sua utilização depende apenas da sua necessidade combianda com a sua criatividade.
Até a próxima.

Nenhum comentário: