Búsqueda de sitios web

Cómo aumentar la productividad con fragmentos de texto sublimes


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

Hasta ese momento, estaba usando el editor Nano para crear scripts bash. Nano proporciona algunas funciones básicas como editor de terminal, pero no más allá de cierto punto. Así que investigué y seleccioné “SUBLIME TEXT 3” como mi editor de referencia para bash y otros lenguajes de programación. Creé muchos fragmentos para funciones repetitivas, frases ingeniosas y bloques de control para scripts bash que no solo ahorraron tiempo sino que también mejoraron mi productividad.

¿Qué es un fragmento?

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

Para enumerar fragmentos definidos en texto sublime

De forma predeterminada, el texto sublime se envía con algunos fragmentos predefinidos para el bash. Mostrará de manera inteligente los fragmentos según el archivo actual del que estamos buscando el fragmento. Estoy dentro de un script de shell y cuando invoco el comando pallet y escribo snippet, automáticamente proporciona una lista de fragmentos definidos para bash.

Hay dos formas de acceder a fragmentos en Sublime Text.

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

Crea nuevos fragmentos en texto sublime

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

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

  • El contenido real o bloque de código que se insertará debe colocarse dentro de . Voy a crear un fragmento para "comentario de encabezado". Cada script que cree tendrá un comentario en el encabezado que definirá 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 vincula un “TEXTO” que actúa como activador del fragmento. Cuando se escribe el nombre del activador y presiona "TAB", se insertará el fragmento. Está comentado de forma predeterminada, elimine el comentario y agregue texto para el activador. Elija un nombre descriptivo y corto. Por ejemplo: elijo "hcom" para insertar comentarios en el encabezado. Puede ser cualquier cosa de tu elección.
  • Alcance (opcional) define a qué idioma están vinculados los fragmentos. Puedes trabajar con 2 o 3 lenguajes de programación diferentes a la vez y puedes 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 en Link. Alternativamente, puede ir a HERRAMIENTAS → DESARROLLADOR → MOSTRAR NOMBRE DEL ALCANCE o presionar 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 que insertará un comentario de encabezado simple que se vincula con el activador de la pestaña "hcom" y se origina en el script de shell.

Ahora abramos un nuevo archivo bash y "escriba hcom". Si observa la imagen a continuación, cuando “escribo h”, aparece la definición de mi fragmento con la descripción que le dimos. Todo lo que tengo que hacer es presionar la tecla <tab> para expandirlo.

Campos

Los campos se indican mediante $1, $2, $3, etc. Con la ayuda del campo, puede saltar a la posición donde se coloca el marcador de campo simplemente presionando la tecla <tab>.

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 <tab> para saltar al siguiente marcador $2 y escribir algo. Cabe señalar que cuando tenga 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 <tab> → Saltar al siguiente marcador de campo.
  • Tecla → Saltar al marcador de campo anterior.
  • Tecla → Salir del ciclo de campo.
  • $0 → Controla el punto de salida.

Marcador de posición

Los marcadores de posición son como un par clave-valor definido entre llaves $ {0:}; el marcador de campo se etiquetará con un valor predeterminado. Puedes 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. Puedo modificar el valor o simplemente presionar la tecla <tab> para pasar al siguiente marcador.

El único inconveniente de los fragmentos de Sublime Text es que no se pueden agrupar todos los fragmentos en un solo archivo. Sólo se permite un fragmento por archivo, lo cual resulta engorroso. Pero hay otras opciones como crear archivos .sublime-completion. Para saber más sobre esto, echa un vistazo a la documentación.

¿Dónde se almacena mi archivo de fragmento?

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

Generador de fragmentos

Snippet-generator-app proporciona generación automática de fragmentos basada en la web según nuestra entrada. Está disponible para Sublime Text, Atom y VSCode. Escriba la descripción, la activación de la pestaña y el contenido en el lado izquierdo, lo que generará un 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 utilizar snippets en texto sublime. Acabo de utilizar un pseudotexto 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.