Fragmentos de códigoCode snippets

Los fragmentos de código, también conocidos como  plantillas de código, son útiles para programar de forma eficaz, ya que permiten insertar y editar bloques de código escritos previamente.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. El uso de fragmentos de código puede resultar cómodo para agregar rápidamente patrones comunes o incluso para aprender nuevos patrones si, como desarrollador, no está seguro de la sintaxis.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. Hay plantillas para C#, F#, HTML, XML, Python y Razor.There are templates provided for C#, F#, HTML, XML, Python, and Razor.

En esta sección se explica cómo crear, insertar y usar fragmentos de código en el código.This section explains how to create, insert, and use snippets in code.

Insertar un fragmento de códigoInserting a snippet

Hay varias maneras de agregar fragmentos de código, algunas de las cuales se explican a continuación:There are some different ways to add code snippets, some of which are described below:

  • Expansión de tabulación– empiece a escribir el nombre de la plantilla, selecciónela en la lista y presione Tab, Tab para agregarla:Tab Expansion – Start typing the template name, select it from the list and press Tab, Tab to add it:

    Expansión de tabulación en código

  • Cuadro de herramientas– use el panel de cuadro de herramientas para mostrar una lista de todos los fragmentos de código.Toolbox – Use the toolbox pad to display a list of all code snippets. Arrastre cualquier plantilla desde el cuadro de herramientas a la posición correcta del código fuente:Drag any template from the toolbox into the correct position in the source code:

    Fragmentos de código en el cuadro de herramientasCode snippets in Toolbox

  • Comando Insertar plantillas– actualmente no hay ningún enlace de teclado predeterminado establecido para insertar una plantilla.Insert Templates command – There is currently no default key binding set for inserting a template. Para crear uno, vaya a Visual Studio > Preferencias > Enlaces de teclado y busque template.To create one, browse to Visual Studio > Preferences > Key Bindings and search for template. Esto permite agregar el enlace de teclado deseado al campo Editar enlace; luego, haga clic en  Aplicar:This allows adding the desired key binding into the Edit Binding field, then click Apply:

    Comando Insertar plantilla

Crear una nueva plantillaCreating a new template

Aunque hay muchas plantillas existentes en una serie de lenguajes que se pueden usar y editar, también se pueden agregar nuevas plantillas si se va a Visual Studio > Preferencias > Editor de texto > Fragmentos 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:

Insertar nueva plantilla

Presione los botones Agregar o Editar para crear o editar fragmentos de código.Press the Add or Edit buttons to create or edit snippets.

Palabras clave en fragmentos de códigoKeywords in code snippets

Después de insertar un fragmento de código en el editor, cualquier palabra clave definida se resalta y se puede editar mediante el uso del tabulador para pasar de una a otra.After a code snippet is inserted into the editor, any keywords defined are highlighted and can be edited by tabbing between them. Las palabras clave se comportan como una "variable" en el fragmento de código y se definen colocando un signo de dólar $ antes y después del nombre de la palabra clave.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 continuación se muestra la ventana Editar plantilla, con la edición del fragmento de código prop integrado.The Edit template window is shown below, editing the built-in prop snippet. El fragmento de código contiene dos palabras clave – $type$ y $name$ – que pueden tener un conjunto de propiedades adicional (como un valor predeterminado e información sobre herramientas) en el lado derecho de la ventana: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:

Ventana Editar plantilla

Los siguientes campos se usan para definir un fragmento de código:The following fields are used to define a snippet:

  • Shortcut (Método abreviado)– el texto que el usuario escribe para insertar el fragmento de código.Shortcut – The text the user types to insert the snippet.
  • Group (Grupo)– los fragmentos de código que se agrupan en el menú de contenido del fragmento de código usan este valor.Group – Snippets are grouped together in the snippet content menu, using this value.
  • Description (Descripción)– explicación del propósito del fragmento de código.Description – Explanation of the snippet's purpose.
  • Mime – controla en qué tipos de archivo está disponible el fragmento de código.Mime – Controls what file types the snippet is available in.
  • Is expandable template (Es la plantilla expandible)– asegúrese de que esta opción está activada para que el fragmento de código se puede insertar en la posición del cursor escribiendo el acceso directo.Is expandable template – Ensure this is checked so that the snippet can be inserted at the cursor by typing the shortcut.
  • Is surround with template (Está rodeado con plantilla)– active esta opción para mostrar este acceso directo en el menú de contenido Surround with... (Rodear con) en el editor.Is surround with template – Check this option to list this shortcut in the Surround with... content menu in the editor.
  • Template text (Texto de la plantilla)– el fragmento de código real que se insertará en el editor.Template text – The actual snippet that will be inserted into the editor. Se pueden definir dos marcadores de posición de palabras clave al rodear un token con signos de dólar, por ejemplo,Keyword placeholders can be defined by surrounding a token with dollar signs eg. $type$.$type$.
  • Keyword property panel (Panel de propiedades de palabras clave)– en el lado derecho de la ventana, utilice la lista desplegable de la parte superior para elegir una palabra clave (por ejemplo, type) y editar propiedades como el valor predeterminado y la información sobre herramientas.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.

Uso de palabras clave en el editorUsing keywords in the editor

Para utilizar un fragmento de código con palabras clave, como la definida anteriormente, escriba el acceso directo y presione la tecla Tab dos veces y el contenido del fragmento de código se insertará en el 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:

Fragmento de código insertado, que muestra las palabras clave

Presione la tecla Tab para moverse entre object y MyProperty, con el fin de personalizar el fragmento de código para la clase.Press the Tab key to move between object and MyProperty to customize the snippet for your class.

Una palabra clave puede repetirse en un fragmento de código, como este ejemplo for, observe que la palabra clave $i$ aparece tres veces:A keyword can be repeated in a snippet, such as this for example, notice the $i$ keyword appears 3 times:

Plantilla de fragmento de código con palabras clave repetidas

Cuando se usa en el editor, la tecla Tab cambiará entre la primera i y max.When used in the editor, the Tab key will switch between the first i and max. Si sobrescribe i con otro nombre de variable, se actualizarán las tres instancias:If you overtype the i with a different variable name, all three instances will be updated:

Fragmento de código insertado, que muestra varias palabras clave

Palabras clave reservadasReserved keywords

Hay dos palabras clave reservadas que se puede usar en un fragmento de código:There are two reserved keywords that you can use in a snippet:

  • $selected$ – Si el fragmento de código tiene activada la opción Is surround with template (Está rodeado con plantilla), esta palabra clave se reemplazará por el texto que estaba resaltado en el editor cuando se eligió el fragmento de código.$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$ – Cuando el usuario haya terminado de editar las palabras clave de un fragmento de código, el cursor se colocará en la ubicación de la palabra clave $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.

El fragmento de código for de la sección anterior es un ejemplo de estas dos palabras clave reservadas.The for snippet in the previous section is an example of both these reserved keywords.

Consulte la referencia de fragmentos de código de Visual Studio para más información.Refer to the Visual Studio code snippets reference for more information.

Vea tambiénSee also