Cómo aumentar la productividad con fragmentos de texto sublimes


En pocas palabras, recientemente me asignaron a un proyecto en mi trabajo en el que tengo que crear muchos scripts de bash. Soy de origen python y uso Jupyter Notebook para todo mi trabajo de desarrollo. El problema con los scripts bash para mí es su uso confuso de corchetes y el bloque repetitivo de códigos en todos mis scripts.

Hasta ese momento, estaba usando SUBLIME TEXT 3 ”como mi editor de referencia para bash y otros lenguajes de programación. Creé muchos fragmentos para funciones repetitivas, frases breves y bloques de control para scripts bash que no solo ahorraron tiempo sino que también mejoraron mi productividad.

Los fragmentos son una característica/funcionalidad de programación popular que se incluye con muchos editores IDE modernos. Puede pensar en los fragmentos como una plantilla que se puede reutilizar cuando sea necesario. Los fragmentos no están restringidos a lenguajes de programación particulares. Simplemente puede crear un nuevo fragmento, agregar cualquier texto que desee insertar y asignar una palabra de activación. Veremos todas estas características en la próxima sección.

Para enumerar fragmentos definidos en texto sublime

Por defecto, el texto sublime se envía con algunos fragmentos predefinidos para el bash. Mostrará inteligentemente los fragmentos basados en el archivo actual desde el que estamos buscando el fragmento. Estoy dentro de un script de shell y cuando invoco la paleta de comandos y escribo el fragmento, automáticamente proporciona una lista de fragmentos definidos para el bash.

Hay dos formas de acceder a los fragmentos de texto en Sublime Text.

  1. CONTROLADO POR MENÚ ⇒ TEXTO SUBLIME → HERRAMIENTAS → SNIPPETS
  2. PALETA DE COMANDOS ⇒ TEXTO SUBLIME → PALETA DE COMANDOS (CTRL + MAYÚS + P) → TIPO SNIPPETS

Crear nuevos fragmentos en texto sublime

El texto sublime proporciona una plantilla predeterminada en formato XML cuando creamos un nuevo fragmento. Para crear la plantilla llegamos a SUBLIME TEXTO → HERRAMIENTAS → DESARROLLADOR → NUEVO SNIPPET.

Comprendamos la definición de la plantilla y modifiquemos los parámetros.

  • El contenido real o el bloque de código que se insertará debe colocarse dentro de . Voy a crear un fragmento de "comentario de encabezado". Cada script que cree tendrá un comentario en el encabezado que define la información sobre el script, como el nombre del autor, la fecha de creación, el número de versión, la fecha de implementación, etc.
  • Tabtrigger (opcional) que enlaza un "TEXTO" que actúa como disparador del fragmento. Cuando se escribe el nombre del disparador y se presiona la “TAB”, se inserta el fragmento. Se comenta de forma predeterminada, elimine el comentario y agregue algo de texto para el disparador. Elija un nombre descriptivo y corto. Por ejemplo: estoy eligiendo "hcom" para insertar comentarios de encabezado. Puede ser cualquier cosa que elija.
  • Alcance (opcional) define a qué idioma están vinculados los fragmentos. Puede trabajar con 2 o 3 lenguajes de programación diferentes a la vez y puede usar el mismo nombre para diferentes fragmentos en diferentes lenguajes de programación. En ese caso, el alcance controla en qué idioma se debe insertar el fragmento para evitar así la colisión. Puede obtener la lista de ámbitos de Link. Alternativamente, puede ir a HERRAMIENTAS → DESARROLLADOR → MOSTRAR NOMBRE DEL ALCANCE o presione para obtener el nombre del alcance del idioma que está utilizando.
  • La descripción (opcional) no estará disponible en la plantilla predeterminada, pero puede usarla para definir algo de contexto sobre lo que hace este fragmento.

Ahora hemos hecho algunas cosas básicas. Hemos definido un fragmento de código que insertará un comentario de encabezado simple que se enlaza con el disparador de la pestaña "hcom" y se origina en el script de shell.

Ahora abramos un nuevo archivo bash y "escriba hcom". Si miras la imagen de abajo cuando "escribo h", mi definición de fragmento aparece con la descripción que proporcionamos. Todo lo que tengo que hacer es presionar la tecla para expandirlo.

Los campos se indican con $1 , $2 , $3 y así sucesivamente. Con la ayuda del campo, puede saltar a la posición donde se coloca el marcador de campo simplemente presionando la tecla .

Si echas un vistazo a mi fragmento, he agregado dos marcadores de campo $1 y $2 , lo que hace es que cuando inserto mi fragmento, el cursor se colocará en $1 para poder escribir algo en esa posición.

Luego tengo que presionar la tecla para saltar al siguiente marcador $2 y escribir algo. Debe notarse que cuando tiene un marcador idéntico, diga $1 en este caso en 2 posiciones, actualizar el campo en una posición actualizará los campos idénticos ($1) .

  • tecla → Salta al siguiente marcador de campo.
  • tecla → Ir al marcador de campo anterior.
  • tecla → Salir del ciclo de campo.
  • $0 → Controla el punto de salida.

Los marcadores de posición son como un par clave-valor definido entre llaves & # 36 {0: }; el marcador de campo se etiquetará con un valor predeterminado. Puede cambiar el valor o dejarlo como está. Cuando se inserta el fragmento y si presiona la pestaña, el cursor se colocará en el valor predeterminado.

Ahora el fragmento se inserta con el valor predeterminado y el mouse se coloca en $1 que es v1 en este caso. O puedo modificar el valor o simplemente presionar la tecla para pasar al siguiente marcador.

El único inconveniente de los fragmentos de texto sublime es que no puede agrupar todos los fragmentos en un solo archivo. Solo se permite un fragmento por archivo, lo cual es engorroso. Pero hay otras opciones como crear archivos .sublime-complete . Para saber más sobre esto, eche un vistazo a la documentación.

Los archivos de fragmentos deben guardarse con el sufijo .sublime-snippet . Vaya a PREFERENCIAS → BUSCAR PAQUETES. Abrirá el directorio donde se almacenan las configuraciones definidas por el usuario. Vaya al directorio "Usuario" donde se guardará su archivo de fragmentos.

VSCode. Escriba la descripción, el activador de la pestaña y el contenido en el lado izquierdo que generará código en vivo en el lado derecho de la página.

Fragmento de muestra que obtendrá el nombre del clúster de la API de Ambari.

Eso es todo por hoy. Hemos visto las ventajas de usar fragmentos en texto sublime. Acabo de usar un pseudo texto simple como ejemplo para demostrar la función de fragmentos, pero hay mucho más. También señalaría que esta función está disponible en todos los editores/IDE como Vim, Atom, Eclipse, Pycharm, Vscode, etc.