Fragmentos de código y cómo usarlos

Los fragmentos de código son pequeños bloques de código reutilizable que se pueden agregar en un archivo de código. Los fragmentos de código suelen contener bloques de código usados con frecuencia, como bloques Try...Finally o If...Else. También puede usar fragmentos de código para agregar clases o métodos completos.

Un fragmento de código tiene un título que se usa para seleccionar el fragmento de código y puede tener un nombre de acceso directo que puede escribir para insertar el fragmento de código. Los fragmentos de código también pueden contener parámetros de reemplazo, que actúan como marcadores de posición. Existen fragmentos de código disponibles para muchos lenguajes, como C#, C++ y Visual Basic.

Fragmentos de código de expansión y fragmentos de código envolventes

Puede añadir dos tipos de fragmentos de código al código:

  • Un fragmento de código de expansión se añade en un punto de inserción especificado.
  • Se agrega un fragmento de código envolvente alrededor del código seleccionado y solo está disponible para C# y C++.

Dónde encontrar fragmentos de código disponibles

Para ver los fragmentos de código disponibles para un lenguaje, seleccione Herramientas>Administrador de fragmentos de código en la barra de menús o presione Ctrl+K, B y, a continuación, seleccione el lenguaje que desee en el menú desplegable.

Cuadro de diálogo Administrador de fragmentos de código

Para crear e importar su propio fragmento de código para que aparezca en la lista de fragmentos de código, vea Tutorial: Creación de un fragmento de código en Visual Studio.

Agregar un fragmento de código al archivo de código

Para agregar un fragmento de código al archivo de código:

  1. En el editor de código, coloque el cursor o seleccione Código de C# o C++ donde quiera agregar el fragmento de código.

  2. Realice una de las siguientes acciones:

    • En la barra de menús de Visual Studio, elija Editar>IntelliSense>Insertar fragmento de código o Editar>IntelliSense>Delimitar con.
    • Haga clic con el botón derecho y elija Fragmento de código>Insertar fragmento de código o Fragmento de código>Delimitar con en el menú contextual.
    • En el teclado, presione Ctrl+K, X para un fragmento de código de expansión o Ctrl+K, S para un fragmento de código envolvente.
  3. Haga doble clic en el fragmento de código que desee en la lista desplegable, o escriba el acceso directo del fragmento de código y presione Tab o Entrar.

Adición de un fragmento de código de expansión

Por ejemplo, el fragmento de código de expansión de C# tryf agrega el siguiente bloque Try...Finally:

try
{

}
finally
{

}

Para agregar este fragmento de código de expansión:

  1. En el editor de código, coloque el cursor donde desea agregar el fragmento de código.
  2. Haga clic con el botón derecho y seleccione Insertar fragmento de código en el menú contextual, o bien use la barra de menús o los comandos de teclado.
  3. Abra la carpeta Visual C# y, a continuación, haga doble clic en tryf en la lista desplegable, o seleccione tryf y presione Tab o Entrar.

Sugerencia

También puede colocar el cursor en el punto de inserción, escribir tryf y, a continuación, presionar Tab dos veces.

Agregar un fragmento de código Delimitar con

En el ejemplo de código siguiente de un fragmento de código de C++, se puede utilizar el acceso directo if como un fragmento de código de inserción o como un fragmento de código Delimitar con. Si selecciona una línea de código return FALSE; y, después, selecciona Delimitar con>if, el fragmento de código se expandirá alrededor de la línea.

if (true)
{
    return FALSE;
}

Parámetros de reemplazo de fragmentos de código

Los fragmentos de código pueden contener parámetros de reemplazo, que son marcadores de posición que debe reemplazar para incluir el código que está escribiendo. En el ejemplo anterior, true es un parámetro de reemplazo, que podría reemplazar por la condición adecuada. El reemplazo se repetirá para cada instancia del mismo parámetro de reemplazo en el fragmento de código.

Por ejemplo, en Visual Basic hay un fragmento de código que define una propiedad. Para insertar el fragmento de código:

  1. En el menú contextual de un archivo de código de Visual Basic, seleccione Fragmento de código>Insertar fragmento de código.
  2. Seleccione Patrones de código>Propiedades, procedimientos, eventos>Definir una propiedad.

Captura de pantalla del menú de fragmento de código para definir una propiedad

Se inserta el siguiente código:

Private newPropertyValue As String
Public Property NewProperty() As String
    Get
        Return newPropertyValue
    End Get
    Set(ByVal value As String)
        newPropertyValue = value
    End Set
End Property

Si cambia newPropertyValue por m_property, se cambian todas las instancias de newPropertyValue. Si cambia String por Int en la declaración de la propiedad, también se cambia a Int el valor en el método Set.

Procedimientos recomendados para usar fragmentos de código

El código de un fragmento de código muestra solo la forma más sencilla de hacer algo. Para la mayoría de las aplicaciones, el código debe modificarse para adaptarlo a la aplicación.

Control de excepciones

Normalmente, los bloques Try...Catch de fragmento de código detectan y vuelven a iniciar todas las excepciones, pero es posible que no sea la opción adecuada para el proyecto. Para cada excepción, hay varias formas de responder. Para obtener ejemplos, vea Cómo controlar una excepción mediante Try y Catch (C#) e Instrucción Try...Catch...Finally (Visual Basic).

Ubicaciones de archivo

Al adaptar ubicaciones de archivos a la aplicación, asegúrese de tener en cuenta los siguientes factores.

  • Encontrar una ubicación accesible. Es posible que los usuarios no tengan acceso a la carpeta Archivos de programa del equipo, por lo que puede que no sirva almacenar archivos de usuario con los archivos de aplicación.

  • Encontrar una ubicación segura. Almacenar archivos en la carpeta raíz como C:\ no es seguro. Para los datos de la aplicación, es mejor usar la carpeta Datos de aplicación. Para los datos de usuarios individuales, la aplicación puede crear un archivo en la carpeta Documentos de cada usuario.

  • Usar un nombre de archivo válido. Puede usar los controles OpenFileDialog y SaveFileDialog para reducir la probabilidad de nombres de archivo no válidos.

  • Tenga en cuenta que un archivo seleccionado por el usuario podría eliminarse antes de que el código pueda manipular el archivo. Además, es posible que un usuario no tenga permiso para escribir en el archivo.

Seguridad

El nivel de seguridad de un fragmento de código depende de dónde se usa en el código fuente y cómo se modifica una vez que está en el código. La lista siguiente contiene algunas de las áreas que deben tenerse en cuenta:

  • Acceso de base de datos y archivo
  • Seguridad de acceso del código
  • Protección de recursos como registros de eventos y registro
  • Almacenamiento de secretos
  • Comprobación de entradas
  • Paso de datos a tecnologías de scripting

Para obtener más información, consulte Proteger aplicaciones.

Fragmentos de código descargados

Los fragmentos de código instalados por Visual Studio no constituyen por sí mismos un peligro para la seguridad. En cambio, pueden crear riesgos de seguridad en la aplicación. Los fragmentos de código descargados de Internet deben tratarse como cualquier otro contenido descargado: con extrema precaución. Descargue fragmentos solo de sitios de confianza y use software antivirus actualizado.

Abra todos los archivos de fragmento de código descargados en el Bloc de notas o el editor XML de Visual Studio y examínelos detenidamente antes de instalarlos. Tenga cuidado con los siguientes problemas:

  • El fragmento de código podría dañar el sistema si lo ejecuta. Lea detenidamente el código fuente antes de ejecutarlo.

  • HelpURL bloquea los archivos de fragmento de código que contienen direcciones URL que ejecutan archivos de script malintencionados o muestran sitios web ofensivos.

  • Fragmentos de código que contienen referencias que se agregan automáticamente al proyecto y se pueden cargar desde cualquier lugar del sistema. Puede descargar estas referencias desde la misma ubicación desde la que se descarga un fragmento de código. El fragmento de código puede realizar una llamada a un método en la referencia que ejecuta código malintencionado. Para detectar estas referencias, revise los bloques Imports y References del archivo de fragmento de código.