Compartilhar via


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.

  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.

  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 snippets de código.

  7. Adicione o código de snippet a seguir à CDATA seção dentro do Code elemento.

    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 CDATA seção de um snippet 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 snippet de código

  1. Para importar o snippet para a instalação do Visual Studio, selecione o GerenciadordeSnippets de Código das Ferramentas> 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 2022\Code Snippets\Visual C#\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2019\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>Trecho de Inserção doIntelliSense>.
    • Clique com o botão direito do mouse e escolhaSnippet de Inserção de 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 código de snippet é 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 marca que você pode digitar para inserir o snippet.

  1. Para editar o snippet de código, abra o arquivo de snippet de um dos seguintes locais, dependendo da linguagem de código:

    • %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
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2019\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 o 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 snippet de código no Gerenciador de Snippet 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 código de snippet é 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 uma substituição por código totalmente contido no snippet que pode ser personalizado após ser inserido no código. Por exemplo, uma cadeia de caracteres ou valor numérico.

  • Use o elemento Object para identificar um item que o snippet de código requer, mas provavelmente está 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 da Snippet 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 essa ID no snippet de código cercando-a com $ caracteres, da seguinte maneira:

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

  3. Abra um projeto e insira o snippet.

    O snippet de código é inserido e o literal editável é realçado para substituição. Passe o mouse sobre o parâmetro de substituição para ver a dica de ferramenta para o valor.

    Captura de tela da dica de ferramenta de parâmetro de substituição 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>