Passo a passo: criar um snippet de código no Visual Studio

Você pode aumentar a produtividade e a confiabilidade usando snippets de código para reduzir o tempo gasto digitando código repetitivo ou procurando exemplos. Snippets de código são partes de código pré-autenticadas que estão prontas para serem inseridas em seu aplicativo.

Você pode criar seus próprios snippets de código e adicioná-los aos snippets de código que o Visual Studio já inclui. Este artigo explica como criar um snippet de código em apenas algumas etapas. Você cria um arquivo XML, preenche os elementos apropriados e adiciona seu código ao arquivo. Opcionalmente, você pode usar parâmetros de substituição e referências de projeto. Em seguida, você importa o snippet para a instalação do Visual Studio.

Criar um snippet de código

  1. Abra o Visual Studio e selecione Continuar sem código na tela Inicial .

    Captura de tela da janela Iniciar com a opção Continuar sem código selecionada.

    Captura de tela da janela Iniciar com a opção Continuar sem código selecionada.

  2. Na barra de menus, selecione Arquivo>Novo Arquivo ou insira Ctrl+N.

  3. Na caixa de diálogo Novo Arquivo , selecione Arquivo XML e, em seguida, selecione Abrir.

    Captura de tela da caixa de diálogo Novo Arquivo com a opção Arquivo XML selecionada.

    Captura de tela da caixa de diálogo Novo Arquivo com a opção Arquivo XML selecionada.

  4. Cole o seguinte modelo de snippet básico no editor de código.

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
        <CodeSnippet Format="1.0.0">
            <Header>
                <Title></Title>
            </Header>
            <Snippet>
                <Code Language="">
                    <![CDATA[]]>
                </Code>
            </Snippet>
        </CodeSnippet>
    </CodeSnippets>
    
  5. Insira o título Raiz quadrada no elemento snippet Title.

  6. Language No atributo do Code elemento, preencha CSharp para um snippet de C# ou VB para Visual Basic.

    Dica

    Para ver todos os valores de idioma disponíveis, consulte Atributos na Referência de Esquema de Trechos de Código.

  7. Adicione o seguinte trecho de código à seção CDATA dentro do elemento Code.

    Para C#:

        <![CDATA[double root = Math.Sqrt(16);]]>
    

    Para o Visual Basic:

        <![CDATA[Dim root = Math.Sqrt(16)]]>
    

    Observação

    Você não pode especificar como formatar ou recuar linhas de código na seção CDATA de um trecho de código. Após a inserção, o serviço de idioma formata o código inserido automaticamente.

  8. Salve o snippet em qualquer lugar como SquareRoot.snippet.

Importar o fragmento de código

  1. Para importar o snippet para a instalação do Visual Studio, selecione Gerenciador de Trechos de Código> ou pressione Ctrl+K, B.

  2. No Gerenciador de Snippets de Código, selecione o botão Importar .

  3. Navegue até o local do snippet de código, selecione-o e selecione Abrir.

  4. Na caixa de diálogo Importar Snippet de Código, selecione a pasta Meus Snippets de Código no painel direito. Selecione Concluir e OK.

    O snippet é copiado para um dos seguintes locais, dependendo da linguagem de código:

    • %USERPROFILE%\Documents\Visual Studio 18\Code Snippets\Visual C#\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 18\Code Snippets\Visual Basic\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets
  5. Teste o snippet abrindo um projeto C# ou Visual Basic. Com um arquivo de código aberto no editor, execute uma das seguintes ações:

    • Na barra de menus do Visual Studio, escolha Editar>IntelliSense>Inserir Trecho de Código.
    • Clique com o botão direito do mouse e escolha Snippet>Insert Snippet no menu de contexto.
    • No teclado, pressione Ctrl+K, X.
  6. Abra meus snippets de código e clique duas vezes no snippet chamado Raiz Quadrada. O trecho de código é inserido no arquivo de código.

Campos de descrição e atalho

O campo de descrição fornece mais informações sobre o snippet de código quando exibido no Gerenciador de Snippets de Código. O atalho é uma etiqueta que você pode digitar para inserir o snippet.

  1. Para editar seu snippet, abra o arquivo de snippet de um dos seguintes locais, de acordo com a linguagem de programação:

    • %USERPROFILE%\Documents\Visual Studio 18\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 18\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet

    Dica

    Como você está editando o arquivo no diretório em que o Visual Studio o colocou, você não precisa reimportá-lo para o Visual Studio.

  2. Adicione Author, Descriptione os Shortcut elementos ao Header elemento e preencha-os.

  3. Confirme se o Header elemento é semelhante ao exemplo a seguir e salve o arquivo.

    <Header>
        <Title>Square Root</Title>
        <Author>Myself</Author>
        <Description>Calculates the square root of 16.</Description>
        <Shortcut>sqrt</Shortcut>
    </Header>
    
  4. Abra o Gerenciador de Snippets de Código do Visual Studio e selecione seu snippet de código. No painel direito, observe que os campos Descrição, Autor e Atalho agora estão preenchidos.

    Captura de tela mostrando uma descrição de trecho de código no Gerenciador de Trechos de Código.

    Captura de tela mostrando a descrição de um snippet de código no Gerenciador de Snippets de Código.

  5. Para testar o atalho, abra o projeto usado anteriormente, digite sqrt no editor e pressione Tab uma vez para Visual Basic ou duas vezes para C#. O trecho de código é inserido.

Parâmetros de substituição

Talvez você queira que o usuário substitua partes de um snippet de código. Por exemplo, talvez você queira que o usuário substitua um nome de variável por um em seu projeto atual.

Você pode fornecer dois tipos de substituições: literais e objetos.

  • Use o elemento Literal para identificar um elemento de código substituível que está completamente contido dentro do snippet e que pode ser personalizado após sua inserção no código. Por exemplo, uma cadeia de caracteres ou valor numérico.

  • Use o elemento Object para identificar um item que o código de exemplo requer, mas provavelmente é definido fora do snippet. Por exemplo, uma instância de objeto ou um controle.

Você pode usar um Literal elemento no arquivo SquareRoot.snippet para ajudar os usuários a alterar facilmente o número para calcular a raiz quadrada.

  1. No arquivo SquareRoot.snippet, modifique o elemento Snippet da seguinte maneira:

    <Snippet>
      <Code Language="CSharp">
        <![CDATA[double root = Math.Sqrt($Number$);]]>
      </Code>
      <Declarations>
        <Literal>
          <ID>Number</ID>
          <ToolTip>Enter the number you want the square root of.</ToolTip>
          <Default>16</Default>
        </Literal>
      </Declarations>
    </Snippet>
    

    Observe que a substituição literal obtém uma ID. Number Você faz referência a esse ID no trecho de código cercando-o com caracteres $, da seguinte maneira:

    <![CDATA[double root = Math.Sqrt($Number$);]]>
    
  2. Salve o arquivo de trecho.

  3. Abra um projeto e insira o snippet.

    O trecho de código é inserido e a parte editável é realçada para substituição. Passe o mouse sobre o parâmetro de substituição para ver o tooltip para o valor.

    Captura de tela da dica de ferramenta para substituição de parâmetros de snippet de código no Visual Studio.

    Dica

    Se houver mais de um parâmetro substituível em um snippet, você poderá pressionar Tab para navegar de um parâmetro para o outro para alterar os valores.

Importar um namespace

Você pode usar um snippet de código para adicionar uma using diretiva (C#) ou Imports instrução (Visual Basic) incluindo o elemento Imports. Para projetos do .NET Framework, você também pode adicionar uma referência ao projeto usando o elemento References.

O XML a seguir mostra um snippet de código que usa o método File.Exists no System.IO namespace e, portanto, define o Imports elemento para importar o System.IO namespace.

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>File Exists</Title>
      <Shortcut>exists</Shortcut>
    </Header>
    <Snippet>
      <Code Language="CSharp">
        <![CDATA[var exists = File.Exists("C:\\Temp\\Notes.txt");]]>
      </Code>
      <Imports>
        <Import>
          <Namespace>System.IO</Namespace>
        </Import>
      </Imports>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>