Criando Code Snippets

<< Click to Display Table of Contents >>

Navigation:  Outros >

Criando Code Snippets

Previous pageReturn to chapter overviewNext page

O que é um Code Snippet?

 

Code Snippet é um recurso muito interessante do Visual Studio, com ele podemos acessar blocos de códigos pré definidos anteriormente em um arquivo XML, por padrão o VS já traz alguns Code Snippets pré definidos, como If, Else, For, entre outros. Com este recurso podemos acelerar muito o nosso desenvolvimento e utilização de nossas classes.

 

 

Identificando um snippet

 

Agora vamos ver como identificar um Code Snippet, vá ao codebehind e digite um if no page load, o ícone de um Code snippet é um bloquinho de notas com linhas azuis como mostra a imagem abaixo.

 

code1

Se você deixar o Code Snippet selecionado na lista do IntelliSense e apertar duas vezes Tab o bloco de código completo do If é gerado automaticamente com o cursor parado na parte da condição, não, ele não adivinha onde é o local que você vai modificar, isto é um arquivo XML com extensão .snippet previamente definido anteriormente, agora vamos aprender como desenvolver nossos próprios Code Snippets e instala-lo em nosso Visual Studio.

 

Criando nossos snippets

 

Esta é a estrutura básica de um Code Snippet, veja o código abaixo tem 2 code snippets no mesmo arquivo xml:

 

<?xml version="1.0" encoding="utf-8" ?>

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">

 

 <!-- CodeSnippet #1 -->

 

 <CodeSnippet Format="1.0.0">

   <!-- parte do cabeçalho -->

   <Header>

     <Title>Preenche region automaticamente</Title>

     <Shortcut>reg</Shortcut>

     <Description>Adiciona um region para poder "fechar" partes do código</Description>

     <Author>Junior</Author>

     <SnippetTypes>

       <SnippetType>Expansion</SnippetType>

     </SnippetTypes>

   </Header>

 

   <!-- parte da implementacao -->

   <Snippet>

     <Code Language="CSharp">

       <![CDATA[#region $end$

              #endregion]]>

     </Code>

   </Snippet>

 </CodeSnippet>

 

 <!-- CodeSnippet #2 -->

 

 <CodeSnippet Format="1.0.0">

   <!-- parte do cabeçalho -->

   <Header>

     <Title>Declara Int e String</Title>

     <Shortcut>IntString</Shortcut>

     <Description>Adiciona variavel do tipo int e string.</Description>

     <Author>Junior</Author>

     <SnippetTypes>

       <SnippetType>Expansion</SnippetType>

       <!-- existe o tipo SurroundsWith -->

     </SnippetTypes>

   </Header>

 

   <!-- parte da implementacao -->

   <Snippet>

 

     <!-- declaração de variáveis -->

     <Declarations>

       <Literal>

         <ID>VarInt</ID>

         <Default>NomeInteiro</Default>

         <ToolTip>Nome da variável inteiro</ToolTip>

       </Literal>

       <Literal>

         <ID>VarStr</ID>

         <Default>NomeString</Default>

         <ToolTip>Nome da variável string</ToolTip>

       </Literal>

     </Declarations>

 

     <!-- parte da implementacao -->

     <Code Language="CSharp">

       <![CDATA[      

                int $VarInt$;

                string $VarStr$;

                $end$

              ]]>

     </Code>

   </Snippet>

 </CodeSnippet>

</CodeSnippets>

 

Note que é um arquivo ultra simples, salve ele em um arquivo com extensão .snippet e salve em alguma pasta.

Agora vamos aprender como chamar este arquivo no Visual Studio, siga as instruções abaixo.

 

Vá no menu superior no Visual Studio e selecione o item Tools, depois clique em Code Snippets Manager:

 

code2

 

Após feito isto selecione a linguagem que vai adicionar o Code Snippet no item Linguage e clique em Add, selecione a pasta e clique em ok, pronto nosso CS está adicionado ao Visual Studio e pronto para ser utilizado:

 

code3

 

Vamos testar, vá ao Codebehind e digita o Shortcut definido anteriormente no arquivo XML.

 

Simples não, deixe selecionado nosso Code no IntelliSense e aperte duas vezes Tab, pronto, nosso código perfeitamente criado como foi definido, para navegar entre as variáveis aperte Tab, se existir duas variáveis com o mesmo nome no Code Snippet editando um o outro é alterado automaticamente:

 

code4

 

No exemplo acima o shortcut é "IntString" do 2º code snippet do exemplo.