Este é o sexto de uma série de posts que estou escrevendo sobre o
próximo lançamento do VS 2010 e .NET 4.
O post de hoje é sobre outra melhoria útil presente no VS 2010 – suporte a snippets de HTML/ASP.NET/JavaScript. Snippets (pedaços/fragmentos de código) permitem que você seja mais produtivo dentro da visão de código permitindo que você crie agrupamentos de código e linguagem de marcação HTML que você pode rapidamente aplicar e usar em sua aplicação com um mínimo de digitação.
O Visual Studio já possuía suporte ao conceito de "snippets" para VB e C# em lançamentos anteriores – mas não para linguagem de marcação HTML, ASP.NET e JavaScript. Com o VS 2010, nós agora suportamos snippets para estes tipos de conteúdo também.
Usando Snippets da ASP.NET
Vamos seguir um passo a passo que mostra como nós podemos usar snippets para rapidamente implementar um cenário de segurança comum. Especificamente, nós implementaremos a funcionalidade necessária para mostrar ou um link "[ Login ]" ou uma mensagem de boas-vindas "[ Welcome UserName ]" no topo direito do site dependendo se o usuário está ou não logado:

A funcionalidade acima é automaticamente adicionada para você quando você cria um projeto usando os novos Modelos de Projeto Iniciais da ASP.NET no VS 2010. Por ocasião deste passo a passo, nós iremos assumir que estamos começando com uma página master (principal) em branco e iremos construí-la inteiramente do início.
Nós começaremos adicionando um elemento <div> padrão na página master, e então posicionaremos nosso cursor do mouse dentro deste div:
Nós vamos usar o controle <asp:loginview> para nos ajudar a implementar esse cenário. O controle <asp:longinview> é um controle que usa template (e foi introduzido pela primeira vez na ASP.NET 2.0) o qual nos permite facilmente mudar entre os templates “Anonymous” (Anônimo) e “LoggedIn” (Logado) que são automaticamente mostrados dependendo se o usuário está autenticado ou não. Ao invés de digitar a linguagem de marcação do controle <asp:loginview> manualmente, nós usaremos o novo suporte a snippets do VS 2010.
Digitando "<log" no editor, teremos a intellisense que mostrará elementos disponíveis, controles e snippets de código que começam com esses caracteres.

Nós selecionaremos o snippet de código já construído "loginview" presente na lista acima e pressionaremos a tecla "tab" para completá-lo:

Agora que nós selecionamos o snippet que queremos usar, nós podemos pressionar a telca "tab" novamente para executar o snippet – o que fará com que este imediatamente substitua o nome do snippet com a linguagem de marcação mostrada a seguir. Note que o snippet adicionou um novo controle <asp:loginview> para nós e automaticamente definiu os dois templates mais comumente usados no controle. Nós fomos capazes de implementar isto tudo com somente 6 teclas pressionadas (4 teclas pressionadas para digitar "<log", e então pressionamos 2 vezes a tecla "tab").

Nós iremos agora implementar o template "AnonymousTemplate".
Digitando "<a" no editor trará a intellisense que mostrará os elementos e snippets de código disponíveis que nós podemos usar:

Nós selecionaremos o snippet de código já pronto "a" presente na lista acima e pressionaremos a tecla "tab" para completá-lo. Quando nós pressionarmos a tecla tab novamente, o snippet será executado – o que fará com que o que digitamos seja substituído pelo nome do snippet com o seguinte código de marcação:

O valor do atributo "href" e conteúdo interno do elemento <a> acima são destacados com uma cor de fundo verde. Isto indica que estes valores são parâmetros substituíveis e que nós podemos automaticamente pressionar tab para preenchê-los – evitando a necessidade de usar as teclas do cursor ou tocar o mouse (tornando as coisas muito mais rápidas).
Sem ter que mover nosso cursor ou mouse, nós podemos começar a digitar a URL da página de login que queremos que os usuários vejam se eles não estiverem autenticados no site:
Quando terminado, nós podemos pressionar a tecla "tab" e o VS irá automaticamente destacar o segundo parâmetro de conteúdo no editor para nós (sem necessidade de movimentar o cursor manualmente ou de ativar uma ação com o mouse):

Nós podemos então digitar o texto que queremos mostrar (novamente sem ter que mover o mouse ou tocar a tecla do cursor):

Uma vez terminado com o "<AnonymousTemplate>”" nós podemos partir para o "<LoggedInTemplate>”. Nós digitaremos "<log" no editor para trazer a intellisense – e selecionaremos o snippet "loginname" já pronto:

Quando nós pressionarmos a tecla tab, o snippet será executado – o que fará com que o que digitamos seja substituído pela marcação HTML a seguir:

O valor da propriedade "FormatString" acima foi automaticamente preenchido para nós com o texto da mensagem padrão de boas-vindas. O valor também é automaticamente destacado caso desejemos alterá-lo (sem a necessidade de mover o mouse ou as teclas do cursor). Para este exemplo nós iremos manter o texto padrão.
Nossa marcação HTML final fica igual a seguir:

Quando nós executarmos nossa aplicação, a marcação acima mostrará um link "[Login]" quando nós não estivermos autenticados:

Quando nós estivermos logados, nós veremos uma string de boas-vindas igual a seguir:

O número total de teclas que pressionamos para implementar todo este cenário é menor que 15% daquilo que teríamos que digitar anteriormente. Digitando rápido eu pude perceber que eu poderia implementar este cenário completo em menos de 15 segundos :-)
Snippets da ASP.NET MVC
Snippets prontos estão disponíveis para todos os controles da ASP.NET e elementos de marcação HTML.
Snippets prontos também estão disponíveis para cenários de visão da ASP.NET MVC, e para os métodos de ajuda HTML da ASP.NET MVC.
Por exemplo, nós podemos digitar "<act" dentro de uma visão da ASP.NET MVC e em seguida selecionar o snippet "actionlink":

Quando nós completamos esta ação e pressionamos a tecla "tab", o snippet será executado – o que fará com que o que digitamos seja substituído pelo nome do snippet com a marcação HTML a seguir:
Note que os valores "linktext" e "actionname" são marcados como parâmetros do snippet – isto significa que nós podemos facilmente substituí-los sem ter que usar as teclas do cursor ou tocar o mouse. O valor do primeiro parâmetro "linktext" é selecionado por padrão – o que significa que nós podemos simplesmente digitar para imediatamente substituir o valor, e então podemos pressionar a tecla tab para imediatamente selecionar e substituir o segundo parâmetro "actionname":

Snippets Customizados
O Visual Studio 2010 incluirá mais de 200 snippets pré-construídos que você pode usar imediatamente quando você instalar o produto.
O que é realmente legal é que você não está limitado a somente usar os snippets pré-construídos. Você também pode facilmente criar os seus próprios snippets (completos com parâmetros substituíveis) e você poderá importá-los no VS 2010 e também compartilhá-los com outros desenvolvedores. Isto torna fácil para você automatizar rapidamente as tarefas que você mais executa.
Este artigo
descreve o suporte a snippets que já existe no VS 2008, e provê um pouco mais de contexto em como criar e gerenciar snippets customizados.
Sumário
Snippets formam um recurso útil que lhe permite reduzir o número de teclas pressionadas dentro do editor, e permite a você completar cenários e tarefas muito mais rapidamente. Ter snippets agora habilitados não somente em arquivos VB e C#, mas também em HTML, ASP.NET e JavaScript, torna esta capacidade ainda mais útil – e pode tornar você ainda mais produtivo.
Espero que ajude,
Scott
P.S. Além de
escrever posts neste
blog, eu tenho usado o Twitter mais
recentemente para disponibilizar posts rápidos e compartilhar links.
Você pode me seguir no Twitter em http://www.twitter.com/scottgu
(@scottgu é o meu nome no Twitter).
Texto
traduzido do post original por Leniel Macaferi.