Snippets de códigoCode snippets

Snippets de código, geralmente chamados de modelos de código, são úteis para uma programação eficiente, já que permitem a inserção e a edição de blocos de código previamente escritos.Code snippets, often referred to as code templates, are useful for efficient programming as they allow the insertion and editing of pre-written blocks of code. O uso de snippets de código pode ser conveniente para adicionar rapidamente padrões comuns ou até mesmo para conhecer novos padrões quando, como desenvolvedor, você não tiver certeza sobre a sintaxe.Using code snippets can be convenient for quickly adding common patterns, or even for learning new patterns when as the developer you are unsure of syntax. Há modelos fornecidos para C#, F#, HTML, XML, Python e Razor.There are templates provided for C#, F#, HTML, XML, Python, and Razor.

Esta seção explica como criar, inserir e usar snippets no código.This section explains how to create, insert, and use snippets in code.

Inserindo um snippetInserting a snippet

Há algumas maneiras de adicionar snippets de código, algumas das quais são descritas abaixo:There are some different ways to add code snippets, some of which are described below:

  • Guia Expansão – Comece digitando o nome do modelo, selecione-o na lista e pressione Tab, Tab para adicioná-lo:Tab Expansion – Start typing the template name, select it from the list and press Tab, Tab to add it:

    Guia Expansão no código

  • Caixa de ferramentas – Use o painel da caixa de ferramentas para exibir uma lista de todos os snippets de código.Toolbox – Use the toolbox pad to display a list of all code snippets. Arraste qualquer modelo da caixa de ferramentas para a posição correta no código-fonte:Drag any template from the toolbox into the correct position in the source code:

    Snippets de código na Caixa de ferramentasCode snippets in Toolbox

  • Comando Inserir Modelos – Atualmente, não há nenhuma associação de teclas definida para a inserção de modelos.Insert Templates command – There is currently no default key binding set for inserting a template. Para criar uma, navegue até Visual Studio > Preferências > Associações de teclas e pesquise template.To create one, browse to Visual Studio > Preferences > Key Bindings and search for template. Isso permite adicionar a associação de teclas desejada no campo Editar Associação e, em seguida, clicar em Aplicar:This allows adding the desired key binding into the Edit Binding field, then click Apply:

    Comando Inserir Modelo

Criando um novo modeloCreating a new template

Embora haja muitos modelos existentes em uma variedade de linguagens que você pode usar e editar, novos modelos também podem ser adicionados navegando para Visual Studio > Preferências > Editor de texto > Snippets de código:While there are many existing templates in a variety of languages that you can use and edit, new templates can also be added by navigating to Visual Studio > Preferences > Text Editor > Code Snippets:

Inserir novo modelo

Pressione os botões Adicionar ou Editar para criar ou editar snippets.Press the Add or Edit buttons to create or edit snippets.

Palavras-chave em snippets de códigoKeywords in code snippets

Depois da inserção de um snippet de código no editor, as palavras-chave definidas são realçadas e podem ser editadas usando tabulações entre elas.After a code snippet is inserted into the editor, any keywords defined are highlighted and can be edited by tabbing between them. Palavras-chave se comportam como uma "variável" no snippet de código. Para defini-las, coloca-se um sinal de cifrão $ antes e após o nome da palavra-chave.Keywords behave like a "variable" in the code snippet and are defined by placing a dollar-sign $ before and after the name of the keyword.

A janela Editar modelo é exibida abaixo, editando o snippet prop interno.The Edit template window is shown below, editing the built-in prop snippet. O snippet contém duas palavras-chave – $type$ e $name$ – que podem ter mais um conjunto de propriedades, como um valor padrão e uma dica de ferramenta, no lado direito da janela:The snippet contains two keywords – $type$ and $name$ – which can have further properties set (such as a default value and tooltip) on the right side of the window:

Janela Editar modelo

Os campos a seguir servem para definir um snippet:The following fields are used to define a snippet:

  • Atalho – O texto que o usuário digita para inserir o snippet.Shortcut – The text the user types to insert the snippet.
  • Agrupar – Os snippets são agrupados no menu de conteúdo do snippet usando este valor.Group – Snippets are grouped together in the snippet content menu, using this value.
  • Descrição – Explicação sobre a finalidade do snippet.Description – Explanation of the snippet's purpose.
  • MIME – Controla em quais tipos de arquivo o snippet está disponível.Mime – Controls what file types the snippet is available in.
  • Modelo Expansível – Marque esta opção para que o snippet possa ser inserido no cursor, ao digitar o atalho.Is expandable template – Ensure this is checked so that the snippet can be inserted at the cursor by typing the shortcut.
  • Modelo surround with – Marque esta opção para exibir este atalho no menu de conteúdo Surround with... do editor.Is surround with template – Check this option to list this shortcut in the Surround with... content menu in the editor.
  • Modelo de texto – O snippet real que será inserido no editor.Template text – The actual snippet that will be inserted into the editor. É possível definir espaços reservados para palavras-chave adicionando sinais de cifrão ao redor de um token; por exemplo,Keyword placeholders can be defined by surrounding a token with dollar signs eg. $type$.$type$.
  • Painel de propriedades de palavra-chave – No lado direito da janela, use a lista suspensa na parte superior para escolher uma palavra-chave, por exemplo, type, e edite propriedades, como um valor padrão ou uma dica de ferramenta.Keyword property panel – On the right-side of the window, use the drop-down list at the top to choose a keyword (eg type) and edit properties like default value and tooltip.

Como usar palavras-chave no editorUsing keywords in the editor

Para usar um snippet com palavras-chave, como a definida acima, digite o atalho e pressione a tecla Tab duas vezes para que o conteúdo do snippet seja inserido no cursor:To use a snippet with keywords, such as the one defined above, type the shortcut and press Tab twice, and the snippet contents will be inserted at the cursor:

Snippet inserido mostrando palavras-chave

Pressione a tecla Tab para navegar entre object e MyProperty a fim de personalizar o snippet para a classe.Press the Tab key to move between object and MyProperty to customize the snippet for your class.

É possível repetir uma palavra-chave no snippet, como o exemplo for. Observe que a palavra-chave $i$ é exibida três vezes:A keyword can be repeated in a snippet, such as this for example, notice the $i$ keyword appears 3 times:

Modelo de snippet com palavras-chave repetidas

Quando usado no editor, a tecla Tab alternará entre a primeira instância de i e max.When used in the editor, the Tab key will switch between the first i and max. Se você sobrescrever i com um nome variável diferente, as três instâncias serão atualizadas:If you overtype the i with a different variable name, all three instances will be updated:

Snippet inserido mostrando várias palavras-chave

Palavras-chave reservadasReserved keywords

Há duas palavras-chave reservadas que você pode usar em um snippet de código:There are two reserved keywords that you can use in a snippet:

  • $selected$ – Se o snippet tiver a opção Modelo surround with marcada, esta palavra-chave será substituída pelo texto que foi realçado no editor quando o snippet foi escolhido.$selected$ – If the snippet has Is surround with template checked, this keyword will be replaced by the text that was highlighted in the editor when the snippet was chosen.
  • $end$ – Quando o usuário concluir a edição de palavras-chave no snippet, o cursor será colocado no local da palavra-chave $end$.$end$ – When the user has finished editing the keywords in a snippet, the cursor will be placed at the location of the $end$ keyword.

O snippet for da seção anterior é um exemplo de palavras-chave reservadas.The for snippet in the previous section is an example of both these reserved keywords.

Para saber mais, confira o tópico Referência de snippets de código do Visual Studio.Refer to the Visual Studio code snippets reference for more information.

Consulte tambémSee also