Tutorial: Creación de un fragmento de código en Visual Studio

Los fragmentos de código son piezas de código preautorizado y listo para insertarlo en la aplicación. Puedes aumentar la productividad y la fiabilidad si proporcionas fragmentos de código que reduzcan la cantidad de tiempo empleado en escribir código repetitivo o buscar ejemplos.

Puedes crear tus propios fragmentos de código y agregar los fragmentos de código que Visual Studio ya incluye. En este artículo se explica cómo crear un fragmento de código en unos pocos pasos. Debes crear un archivo XML, rellenar los elementos correspondientes y agregar el código al archivo. De forma opcional, puedes usar parámetros de reemplazo y referencias de proyecto. A continuación, debes importar el fragmento de código a la instalación de Visual Studio.

Crear un fragmento de código

  1. Abre Visual Studio y selecciona Continuar sin código en la pantalla Inicio.

    Captura de pantalla de la ventana Inicio con la opción

  2. En la barra de menús, selecciona Archivo>Nuevo archivo o escribe Ctrl+N.

  3. En el cuadro de diálogo Nuevo archivo, selecciona Archivo XML y luego Abrir.

    Captura de pantalla del cuadro de diálogo «Nuevo archivo» con la opción «Archivo XML» seleccionada.

  4. Pega la siguiente plantilla de fragmento de código básico en la página del 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. Escribe el título Raíz cuadrada en el elemento Title del fragmento de código.

  6. En el atributo Lenguaje del elemento Code, escribe CSharp para un fragmento de código de C# o VB para Visual Basic.

    Sugerencia

    Para ver todos los valores de lenguaje disponibles, ve a la sección Atributos de Referencia de esquemas de fragmentos de código.

  7. Agrega el siguiente fragmento de código en la sección CDATA del elemento Code.

    Para C#:

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

    En Visual Basic:

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

    Nota:

    No puedes especificar cómo se debe aplicar formato o sangría en la sección CDATA de un fragmento de código. Después de la inserción, el servicio de lenguaje aplica el formato automáticamente al código insertado.

  8. Guarda el fragmento de código como SquareRoot.snippet en cualquier lugar.

Importar el fragmento de código

  1. Para importar el fragmento de código a la instalación de Visual Studio, selecciona Herramientas>Administrador de fragmentos de código o presiona Ctrl+K, B.

  2. En el Administrador de fragmentos de código, selecciona el botón Importar.

  3. Ve a la ubicación del fragmento de código, selecciónalo y selecciona Abrir.

  4. En el cuadro de diálogo Importar fragmento de código, selecciona la carpeta Mis fragmentos de código en el panel derecho. Seleccione Finalizar y luego seleccione Aceptar.

    El fragmento de código se copia en una de las ubicaciones siguientes, según el lenguaje del 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. Pruebe el fragmento de código. Para ello, abra un proyecto de C# o Visual Basic. Con un archivo de código abierto en el editor, realiza una de las siguientes acciones:

    • En la barra de menús de Visual Studio, elige Edición>IntelliSense>Insertar fragmento de código.
    • Haz clic con el botón derecho y elige Fragmento de código>Insertar fragmento de código desde el menú contextual.
    • En el teclado, presiona Ctrl+K, X.
  6. Abre Mis fragmentos de código y haz doble clic en el fragmento denominado Raíz cuadrada. El fragmento de código se inserta en el archivo de código.

Campos de descripción y de acceso directo

El campo de descripción proporciona más información sobre el fragmento de código cuando se visualiza en el Administrador de fragmentos de código. El acceso directo es una etiqueta que puedes escribir con el fin de insertar el fragmento de código.

  1. Para editar el fragmento de código, abre el archivo de fragmento de código desde una de las siguientes ubicaciones, en función del lenguaje 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

    Sugerencia

    Puesto que está editando el archivo en el directorio donde Visual Studio lo ha colocado, no tiene que volver a importarlo a Visual Studio.

  2. Agrega elementos Author, Description y Shortcut al elemento Header elemento y rellénalos.

  3. Confirma que el elemento Header tiene un aspecto similar al del ejemplo siguiente y guarda el archivo.

    <Header>
        <Title>Square Root</Title>
        <Author>Myself</Author>
        <Description>Calculates the square root of 16.</Description>
        <Shortcut>sqrt</Shortcut>
    </Header>
    
  4. Abre el Administrador de fragmentos de código de Visual Studio y selecciona tu fragmento de código. En el panel derecho, observa que ahora los campos Descripción y Autor y Acceso directo están rellenos.

    Descripción del fragmento de código en el Administrador de fragmentos de código

  5. Para probar el acceso directo, abre el proyecto que has usado anteriormente, escribe sqrt en el editor y presiona Tab (una vez en Visual Basic, dos veces en C#). Se inserta el fragmento de código.

Parámetros de reemplazo

Es posible que le interese que el usuario reemplace partes de un fragmento de código. Por ejemplo, puede querer que el usuario reemplace un nombre de variable por uno de su proyecto actual.

Puede proporcionar dos tipos de reemplazos: literales y objetos.

  • Usa el elemento Literal para identificar un reemplazo de código que esté incluido completamente en el fragmento, pero que puede personalizarse tras insertarse en el código. Por ejemplo, una cadena o un valor numérico.

  • Usa el elemento Object para identificar un elemento necesario para el fragmento de código, pero que probablemente se defina fuera del propio fragmento. Por ejemplo, una instancia de objeto o un control.

Puedes usar un elemento Literal en el archivo SquareRoot.snippet para ayudar a los usuarios a cambiar fácilmente el número para calcular la raíz cuadrada.

  1. En el archivo SquareRoot.snippet, modifica el elemento Snippet del archivo como se indica a continuación:

    <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>
    

    Observa que al reemplazo de literal se le asigna un identificador, Number. Se hace referencia a ese identificador desde dentro del fragmento de código al rodearlo con caracteres $, como se indica a continuación:

    <![CDATA[double root = Math.Sqrt($Number$);]]>
    
  2. Guarde el archivo de fragmento de código.

  3. Abra un proyecto e inserte el fragmento de código.

    El fragmento de código se inserta y el literal editable se resalta para su reemplazo. Mantenga el mouse sobre el parámetro de reemplazo para ver la información sobre herramientas del valor.

    Información sobre herramientas de parámetro de reemplazo de fragmento de código en Visual Studio

    Sugerencia

    Si hay más de un parámetro reemplazable en un fragmento de código, puedes presionar Tab para ir de un parámetro a otro a fin de cambiar los valores.

Importar un espacio de nombres

Puede usar un fragmento de código para agregar una directiva using (C#) o una instrucción Imports (Visual Basic) mediante la inclusión del elemento Imports. En los proyectos de .NET Framework, también puede agregar una referencia al proyecto mediante el elemento References.

El siguiente XML muestra un fragmento de código que usa el método File.Exists en el espacio de nombres System.IO y, por lo tanto, define el elemento Imports para importar el espacio de nombres System.IO.

<?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>