Snippet ( Fragmento en inglés - extracto, fragmento) - un fragmento del texto fuente o código de programa utilizado en motores de búsqueda, editores de texto y entornos de desarrollo .
La gestión de fragmentos es una funcionalidad de algunos editores de código y entornos de desarrollo . Permite al usuario guardar fragmentos para su uso posterior en el proceso de desarrollo de código en este editor.
El término fragmento se refiere a pequeños fragmentos de texto de una página encontrada por un motor de búsqueda, que se utilizan como descripción de un enlace en los resultados de búsqueda. Por regla general, contienen el contexto en el que se encontró la palabra clave en el texto de la página. El texto de la metaetiqueta Descripción también se puede mostrar como fragmentos. Consulte la página de resultados de búsqueda para obtener más detalles .
Al mirar el fragmento, puede comprender aproximadamente si la página coincide con su consulta, incluso sin abrir la página en sí.
La función de administración de fragmentos en los editores de texto es popular entre los desarrolladores de software y aquellos que constantemente necesitan ingresar texto repetitivo. Esta necesidad se explica por el hecho de que el fragmento de texto de entrada no cambia o cambia muy poco.
Los editores de texto que incluyen esta funcionalidad suelen tener un mecanismo que te permite administrar un conjunto de snippets (un directorio) de la misma forma que los editores o sistemas operativos te permiten administrar documentos o archivos. Este mecanismo incluye operaciones como ver, agregar, modificar, eliminar, ordenar, filtrar, agrupar y renombrar fragmentos en un repositorio , catálogo o base de datos .
Aquí, un fragmento es una pequeña pieza reutilizable de código fuente o texto. Los fragmentos no reemplazan los procedimientos, las funciones u otros conceptos de programación estructurados similares. Suelen utilizarse para facilitar la lectura del código de funciones, que sin ellas parecen demasiado sobrecargadas de detalles, o para evitar la repetición de la misma sección general de código. . Los entornos de desarrollo integrado (IDE) contienen funciones integradas para introducir construcciones de lenguaje. Por ejemplo, en Microsoft Visual Studio , Borland Developer Studio , para esto debe ingresar una palabra clave y presionar una determinada combinación de teclas. El IDE de Geany tiene un archivo snippets.conf especial (ruta al archivo: /home/user/.config/geany) que le permite crear sus propios fragmentos. Otros programas, como Macromedia Dreamweaver y Zend Studio , le permiten usar fragmentos en la programación web .
La funcionalidad de snippets, además de la descrita anteriormente, permite clasificar los snippets según su grado de "interactividad" (modificable, personalizable) .
Desde este punto de vista, los fragmentos se dividen en:
Los fragmentos estáticos consisten principalmente en texto que no cambia y que el usuario puede optar por insertar en el documento actual. El usuario no puede establecer ningún parámetro adicional, excepto quizás la posición del cursor en relación con el texto insertado. Los fragmentos estáticos son similares a las macros simples en los lenguajes de programación.
Los fragmentos dinámicos consisten en texto fijo y elementos dinámicos. El usuario puede establecer tanto el valor de estos elementos dinámicos como su posición en el texto sin cambios durante la selección e inserción del fragmento. Ejemplos de elementos dinámicos son las variables que toman el valor de la fecha actual o la hora del sistema, o la entrada del usuario a través de una interfaz gráfica. Los fragmentos dinámicos tienen mucho en común con las macros y las plantillas .
Los fragmentos de secuencias de comandos consisten en código en un lenguaje de programación de macros o en un lenguaje de secuencias de comandos . Los fragmentos de script le brindan al usuario la máxima flexibilidad, por supuesto, dentro del alcance del lenguaje de programación, la familiaridad del lenguaje para el usuario y la prevalencia del lenguaje.
Las capacidades de los comandos de secuencia de comandos varían y dependen de la aplicación que utiliza los fragmentos (aplicaciones host). Estos pueden incluir la ejecución de comandos de shell , la visualización de cuadros de diálogo y otras formas en que el usuario interactúa con el sistema operativo y los componentes de la aplicación host.
El soporte de aplicaciones para capacidades de fragmentos de script varía mucho. A continuación, se describen las características que normalmente se encuentran en los sistemas que admiten fragmentos programables.
Aunque la compatibilidad con texto inmutable es una funcionalidad básica implementada incluso en programas que solo admiten fragmentos estáticos, los fragmentos programables también se utilizan para trabajar con dicho texto.
Sin embargo, una dificultad común es que un sistema que admite fragmentos programables a menudo debe poder distinguir entre texto estático y comandos de programa. Para complicar aún más esta distinción, las aplicaciones que admiten fragmentos de software casi siempre incluyen soporte para múltiples lenguajes de programación, ya sea mediante el resaltado de sintaxis o mediante la ejecución de comandos integrados.
Por estas y otras razones, extraer texto estático de un fragmento de código casi siempre implica la necesidad de evitar dificultades con el análisis y la identificación de delimitadores.
Los fragmentos programables a menudo brindan al usuario la capacidad de especificar el espacio de nombres o el alcance de las variables existentes, en las que luego puede seleccionar varias constantes y variables para formar el texto del fragmento. Esta puede ser la dirección de correo electrónico del usuario que trabaja en el sistema, la hora o fecha actual del sistema, el resultado de la función.
Los fragmentos de script a menudo se asocian con archivos en los que se está trabajando. Por lo tanto, las variables en los fragmentos pueden incluir los valores de las variables de entorno y los argumentos que especifican el nombre del archivo, la posición del cursor en él, el directorio que contiene el archivo y otros valores relacionados con el archivo que se está editando.
Los fragmentos de script pueden contener código en varios lenguajes de programación . Estos pueden ser tanto lenguajes de programación independientes como un lenguaje específico de la aplicación dentro de la cual se utiliza. [una]
Los fragmentos de script generalmente incluyen la capacidad de sustituir el valor ingresado por el usuario. Este valor no está definido hasta que el fragmento se inserta o activa de alguna manera durante la edición. Algunas aplicaciones definen un lenguaje de marcado especial que permite al editor definir límites de patrón en el texto que se ingresa.
Otras aplicaciones utilizan una interfaz gráfica de usuario y ventanas modales que permiten al usuario ingresar uno o más valores para hacer coincidir los patrones.
Identificadores de plantillaNormalmente, las plantillas se distinguen por caracteres especiales o secuencias de caracteres que las separan del resto del fragmento de texto. Algunos sistemas le permiten dar nombres (identificadores) a las plantillas. Los identificadores pueden ser útiles para admitir la repetición o modificación de una plantilla.
El siguiente fragmento de texto de ejemplo utiliza los identificadores first_namey : last_nameitem
Hola {%first_name%} {%last_name%}, Su envío de {%item%} ya está listo para ser recogido. ¡Gracias {%first_name%}! Repetición de patronesLa repetición permite al usuario utilizar el valor que coincide con el patrón varias veces en el cuerpo del fragmento. En el ejemplo anterior, el identificador de plantilla first_namees un ejemplo de este uso.
Modificación de plantillaEsta funcionalidad le permite especificar que un valor que coincida con un patrón debe modificarse cuando se usa en diferentes partes del cuerpo del fragmento. Por ejemplo, el usuario puede especificar que una plantilla que se reemplaza por el título de un documento y se repite varias veces en un fragmento se muestra en letras mayúsculas la primera vez y en minúsculas en todos los demás casos.
La siguiente es una lista parcial de aplicaciones que admiten fragmentos. Para obtener más información, consulte el artículo sobre editores de texto .
fragmentos | Estático | dinámica | guion |
empuje | Sí | Sí | Sí |
compañero de texto | Sí | Sí | Sí |
teclado | Sí | No | No |
emacs | Sí | Sí | Sí |
Texto sublime | Sí | Sí | Sí |
IDEA IntelliJ | Sí | Sí | Sí |