Desenvolvimento - C#
Snippets: O que são? Como e quando utilizá-los?
Este artigo aborda uma breve explicação do que são Snippets e exemplos para sua criação.
por Leandro LiezSnippets: O que são? Como e quando utilizá-los?
Snippets são blocos de códigos utilizados no Visual Studio para agilizar o desenvolvimento de código. Muitas vezes utilizamos Snippets sem saber. O que devemos saber é que podemos criá-los de um modo rápido e fácil.
Abaixo seguem dois Snippets que podem ser utilizados para agilizar o trabalho.
Snippet para criação de um switch-case: switch
Snippet para criação de uma Propriedade: prop
Esses são casos simples de utilização de um Snippet, que já está integrado com o Visual Studio.
A intenção desse artigo é mostrar que Snippets podem ser utilizados no dia a dia, fazendo com que o código fique padronizado e agilizando o processo de desenvolvimento.
Mas... E onde fica?
Na imagem abaixo, o caminho de onde o gerenciador de Snippets está.
Os principais Snippets estão
na pasta Visual C#. O caminho depende da instalação do Visual Studio.
Abaixo segue um código de snippet pronto, integrado ao Visual Studio.
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>foreach</Title>
<Shortcut>foreach</Shortcut>
<Description>Code snippet for foreach statement</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<ToolTip>Type of object in the collection to iterate through</ToolTip>
<Default>var</Default>
</Literal>
<Literal>
<ID>identifier</ID>
<ToolTip>Identifier that represents the element in the collection</ToolTip>
<Default>item</Default>
</Literal>
<Literal>
<ID>collection</ID>
<ToolTip>Name of collection or array to iterate through</ToolTip>
<Default>collection</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[foreach ($type$ $identifier$ in $collection$)
{
$selected$ $end$
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Explicação:
O Code Snippet é um XML, que configurado com o Visual Studio, pode trazer grandes vantagens ao desenvolvedor.
Desmembrando o XML, veremos que o código é simples e fácil de ser desenvolvido. No Header, colocamos informações sobre criação, descrição, título, tipos, e a principal TAG, Shortcut. É ela que será responsável de como a descrição do Snippet aparecerá na lista do Visual Studio. As TAGS Literal são responsáveis por qualquer variável que esteja dentro do código do Snippet, e descrevem o que deverá ser inserido como conteúdo (TAG interna ToolTip) e como será utilizado dentro do código(TAG interna ID).
O conteúdo do Snippet será exibido de acordo com a TAG Code, sendo que todos os espaços, quebras de linhas, parênteses e chaves são respeitados. Lembre-se sempre de manter um padrão no código, tanto em espaçamento quanto na identação. Abaixo segue um XML com as TAGS alteradas, em um exemplo simples de como utilizá-las.
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>ifelse</Title>
<Shortcut>ifelse</Shortcut>
<Description>Código para o Bloco if/else</Description>
<Author>Leandro Liez</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>sentenca_if</ID>
<ToolTip>Senteça do if</ToolTip>
<Default>setence</Default>
</Literal>
<Literal>
<ID>sentenca_elseif</ID>
<ToolTip>Sentença do else if</ToolTip>
<Default>setence</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[if ($sentenca_if$)
{
}
else if($sentenca_elseif$)
{
}
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Veja que não há muitas diferenças no código gerado e no código já existente. Por isso, antes de criar um snippet, entenda os prontos, que são usados por você no dia a dia. O código XML é simples e claro, e provavelmente é entendido por grande parte dos desenvolvedores. Lembre-se sempre de salvar o XML com a terminação “.snippet”, para que o Visual Studio possa entender o seu novo bloco de código.
Mas e agora, como coloco meu código para utilização no Visual Studio?
É simples, é só ir no gerenciador de snippets e adicionar o seu novo snippet. Podem ser criadas pastas para facilitar o trabalho, colocando todos os seus snippets dentro dela. Essa pasta pode ser adicionada facilmente pelo botão “Add...”, que coloca o caminho completo da pasta. Outro modo é fazer a importação de um snippet para uma pasta já existente (O Visual Studio faz uma cópia do arquivo para a pasta selecionada).
Pronto, agora é só utilizar o novo snippet criado.
Utilização.
Bom... É isso.
Agora é sói usar sua criatividade e necessidade para criar os mais variados snippets.
Até a próxima.