Cambiar idioma: English

Sugerencias de escritura

See also

Referencia: Sugerencias de escritura
Documentación completa de todas las opciones.
Sublime Text Documentation
Documentación oficial sobre de este tema.

Las sugerencias de escritura proporcionan una función similar a la encontrada en entornos de desarrollo integrados para insertar términos y plantillas. Las sugerencias se presentan en forma de lista. Alternativamente, se pueden insertar pulsando Tab.

Las sugerencias de escritura en el sentido más amplio de palabras que Sublime Text buscará y sugerirá no están limitadas a los archivos de sugerencias, ya que existen otras fuentes que contribuyen a la lista de palabras de las que se extraen las sugerencias. Estas son, en particular:

  • plantillas;
  • sugerencias inyectadas mediante la API;
  • texto del búfer.

No obstante, los archivos .sublime-completions son el método más específico que Sublime Text ofrece para aportar sugerencias de escritura. En esta sección se explica cómo crear archivos .sublime-completions además de tratar la interacción entre todas las fuentes de sugerencias.

Formato

Los archivos .sublime-completions emplean JSON. Las entradas de los archivos de sugerencias de escritura pueden ser plantillas o cadenas simples.

Ejemplo

He aquí un extracto de las sugerencias de escritura para HTML:

{
   "scope": "text.html - source - meta.tag, punctuation.definition.tag.begin",

   "completions":
   [
      { "trigger": "a", "contents": "<a href=\"$1\">$0</a>" },
      { "trigger": "abbr", "contents": "<abbr>$0</abbr>" },
      { "trigger": "acronym", "contents": "<acronym>$0</acronym>" }
   ]
}
scope
Determina cuándo se poblará la lista de sugerencias con el contenido del archivo en cuestión. Consulta Contextos para obtener más información.

En el ejemplo anterior, se utilizan únicamente sugerencias con combinaciones de teclas, pero también se pueden emplear sugerencias simples, consistenetes en cadenas de texto normales. A continuación se puede ver la lista anterior ampliada con sugerencias simples:

{
   "scope": "text.html - source - meta.tag, punctuation.definition.tag.begin",

   "completions":
   [
      { "trigger": "a", "contents": "<a href=\"$1\">$0</a>" },
      { "trigger": "abbr", "contents": "<abbr>$0</abbr>" },
      { "trigger": "acronym", "contents": "<acronym>$0</acronym>" },

      "ninja",
      "robot",
      "pizza"
   ]
}

Fuentes de sugerencias

Las sugerencias no se extraen únicamente de archivos .sublime-completions. Esta es la lista exhaustiva de fuentes de sugerencias:

  • plantillas;
  • sugerencias inyectadas mediante la API;
  • archivos .sublime-completions;
  • texto del búfer.

Prioridad de las fuentes de sugerencias

Este es el order prioriodad de las fuentes de sugerencisa:

  • plantillas;
  • sugerencias inyectadas mediante la API;
  • archivos .sublime-completions;
  • texto del búfer.

Las plantillas siempre se impondrán si el prefijo coincide exactamente con su combinación de teclas. Para el resto de las fuentes, se realiza una búsqueda aproximada. Por el contrario, las plantillas siempre pierden en caso de una coincidencia parcial. Nótese que este filtrado solo se aplica en caso de inserción automática de sugerencias. Cuando se muestra la lista de sugerencias, las plantillas se enumerarán junto con los demás elementos, incluso si el prefijo solo coincide parcialmente con la combinación de teclas de las plantillas.

Cómo insertar sugerencias

Existen dos fomas de insertar las sugerencias y, aunque la prioridad asignada a las fuentes de sugerencias durante el filtrado es siempre la misma, existe una diferencia en el funcionamiento que explicaremos más adelante.

Las sugerencias se pueden insertar de dos formas:

  • mediante la lista de sugerencias (Ctrl+spacebar);
  • pulsando Tab.

La lista de sugerencias

La lista de sugerencias (Ctrl+spacebar) puede funcionar de dos formas: o bien mostrará una lista de elementos insertables, o bien introducirá directamente el mejor candidato.

Si la elección del mejor candidato es ambigua, se abrirá la lista interactiva, y el usuario tendrá que seleccionar un elemento. A diferencia del resto de los elementos, las plantillas se muestran con el siguiente formato: <tab_trigger> : <name>, donde <tab_trigger> y <name> son variables.

La inserción de texto con Ctrl+spacebar solo será automática si la lista de cadidatos a inserción se puede reducir a un único elemento a partir del prefijo.

Inserción de sugerencias con Tab

Para poder insertar sugerencias presionando Tab, se debe cambiar el valor de la opción tab_completion a true. Por omisión, tab_completion está configurada en true. La insertción de plantillas con Tab no se ve afectada por esta opción; las plantillas siempre se insertarán si se presiona su combinación de teclas seguida de Tab.

Cuando se acvita tab_completion, la inserción de sugerencias siempre se realizar automáticamente. Esto quiere decir que, a diferencia de la lista de sugerencias, Sublime Text siempre tomará una decisión, incluso frente a una elección ambigua. No obstante, la selección de candidatos se efectúa de forma idéntica al otro caso.

Inserción del carácter tabulador

Cuando tab_completion está activada, se pueden insertar tabuladores presionando Shift+Tab.