VSC: Snippets

Los Snippets (fragmentos) son trozos de código que son insertados usando palabras clave que nosotros definimos.

Los pasos a seguir son:

  1. Pulsamos CMD+Shift+P (⌘+⇑+P) para abrir el buscador
    También se puede ir al menú Code -> Preferencias -> Fragmentos de código de usuario.
  2. tecleamos Configurar fragmentos de usuario (Configure user snippets)
  3. Ahora debemos elegir para que lenguaje queremos configurar fragmentos (snippets).
  4. Sale un listado de lenguajes debemos configurar nuestro fragmento con el siguiente formato:
  5.   "Nombre o frase del fragmento": {
        "prefix": "palabra_clave",
        "body": [
          "código línea1",
          "código línea2"
        ],
        "description": "Vacío o pequeña descripción del fragmento"
      }
    
  6. Por último grabamos y ya podemos usar el fragmento en cualquier fichero del lenguaje que hayamos configurado.

En el campo body al ser una lista (Json) cada elemento debe ser una línea del fragmento, podemos usar para tabulaciones y más cosas como por ejemplo:

Saltos de tabulación (Tabstops)

Con los saltos de tabulación (tabstops), se puede hacer que el cursor del editor se mueva dentro de un fragmento. Usar $1, $2, etc para especificar las ubicaciones de salto del cursor. El número es el orden en que se saltará el cursor, mientras que $0 indica la posición final del cursor.

Marcadores de posición (Placeholders)

Son idénticos a los saltos de tabulación pero con valores {$1:texto} el cual puede dejarse o reemplazarse.

Estos valores pueden ser una lista de elecciones {$1|valor1,valor2,valor3|}.

Variables

También podemos inserta variables que nos coloca el texto que contenga o si nbo contiene nada poner un valor por defecto, por ejemplo: $variable o ${variable|valor_por_defecto}.

Variables que pueden interesarnos:

  • TM_SELECTED_TEXT: El texto seleccionado actualmente o la cadena vacía
  • TM_CURRENT_LINE: El contenido de la línea actual
  • TM_CURRENT_WORD: El contenido de la palabra debajo del cursor o la cadena vacía
  • TM_LINE_INDEX: El número de línea basado en índice cero
  • TM_LINE_NUMBER: El número de línea basado en un índice
  • TM_FILENAME: El nombre del archivo del documento actual
  • TM_FILENAME_BASE: El nombre de archivo del documento actual sin sus extensiones
  • TM_DIRECTORY: El directorio del documento actual
  • TM_FILEPATH: La ruta completa del archivo del documento actual
  • CLIPBOARD: El contenido de su portapapeles
  • WORKSPACE_NAME: El nombre del espacio de trabajo o carpeta abierto
  • CURRENT_YEAR: El año actual
  • CURRENT_YEAR_SHORT: Los últimos dos dígitos del año actual
  • CURRENT_MONTH: El mes como dos dígitos (ejemplo '02')
  • CURRENT_MONTH_NAME: El nombre completo del mes (ejemplo 'Julio')
  • CURRENT_MONTH_NAME_SHORT: El nombre corto del mes (ejemplo 'Jul')
  • CURRENT_DATE: El día del mes.
  • CURRENT_DAY_NAME: El nombre del día (ejemplo 'lunes')
  • CURRENT_DAY_NAME_SHORT: El nombre corto del día (ejemplo 'Mon')
  • CURRENT_HOUR: La hora actual en formato de reloj de 24 horas
  • CURRENT_MINUTE: El minuto actual
  • CURRENT_SECOND: El segundo actual
  • CURRENT_SECONDS_UNIX: El número de segundos desde la época de Unix
  • BLOCK_COMMENT_START: Ejemplo de salida: en PHP /* o en HTML <!-
  • BLOCK_COMMENT_END: Salida de ejemplo: en PHP */ o en HTML -->
  • LINE_COMMENT: Ejemplo de salida: en PHP //

Para una mayor comodidad para insertar fragmentos lo mejor es crear un atajo de teclado (por ejemplo CTRL+SHIFT+S) par ala acción editor.action.showSnippets y para Cuando (when) ponemos editorTextFocus, además si tenemos atajo de teclado la variable TM_SELECTED_TEXT funcionará correctamente.


Más información en : https://code.visualstudio.com/docs/editor/userdefinedsnippets.

Retro

Lugares

Redes

Sistemas

Varios