ir al contenido

Sobre editores de código o cómo usar uno no afecta mi productividad

Publicado hoy

Hace unos días un amigo me comentó que cómo era posible que yo trabajara con Textmate luego de haber usado casi toda mi vida un IDE y me hizo pensar que muchas veces los editores de código tienen la fama de no ser tan “amigables” como sus contrapartes más visuales, más engorrosos y no tan productivos.

El presente artículo no trata de imponer la idea de utilizar un editor de código por sobre un entorno integrado; creo que esa decisión es muy personal según nuestra experiencia y ganas de probar algo nuevo y ver qué funciona mejor para uno mismo.

Simplemente he recolectado algunos ejemplos que, espero, puedan demostrar que un editor de código avanzado no tiene nada que envidiarle a un IDE, y que podrían siempre tomar la oportunidad de probar el de su preferencia (que hay muchos gratuitos, libres y multiplataformas rondando la web).

Coloreado de Sintaxis

Coloreado de Sintaxis

Coloreado en Ruby

Coloreado en JavaScript

Coloreado en JavaScript

Coloreado en XHTML

Coloreado en XHTML

Coloreado en CSS

Coloreado en CSS

 

Integración con Manejador de Versiones

Presionando una combinación de teclas (CTRL + SHIFT + A), puedo acceder a la funcionalidad normal de un editor integrado con SVN (o GIT u otros).

SVN en Textmate

Todas las acciones integradas con Textmate de SVN

Realizando un Commit

Realizando un Commit

Commit con varias acciones
Realizando un Commit de varias acciones

 

Estado en el SVN de los archivos

Estado actualizado de todos los archivos con su copia en el SCM

Comparando Archivos

Revisando las diferencias entre dos archivos

Intellisense y autocompletado

También existen tareas de autocompletado, aunque de una forma distinta a la que pueden estar acostumbrados. Textmate en particular esconde mucha de su funcionalidad a través de comandos (que pueden ser creados fácilmente por el usuario) como este ejemplo:

  • Escribo el comando mcol

Agregando \

 

  • Al presionar TAB, Textmate me muestra los comandos asociados. Puedo ya sea presionar el número de cada opción correspondiente o usar los cursores para desplazarme.

Opciones de autocompletado

 

  • Elegida una opción, todavía tenemos ayuda. El código insertado es “monitoreado” por Textmate. Automáticamente luego de insertado, obtiene el foco (en este ejemplo) el campo para escribir que tabla queremos modificar

Código generado

 

  • Y luego de escribirla, automáticamente la actualiza líneas más abajo, donde el contexto marque que sea necesario.

Autocompletado

 

  • Otro TAB adicional, y me desplazo al siguiente campo a editar

Selección del siguiente campo

 

  • Y nuevamente actualiza el nombre en las líneas de abajo. ¿Y ese código “marcc” que insertó?

Autocompletado

 

  • Apenas me posicione en él y presione tab, Textmate crea una línea más para seguir agregando columnas, o simplemente puedo borrarlo (recordemos que tiene el foco de edición).

Otro tab

Es decir, sin tener que usar un mouse que pueda romper mi flujo de trabajo, directamente en el teclado me desplazo entre los campos necesarios, tengo autocompletado y generación de código.

Y no está limitado a Rails. Trae bundles para muchos lenguajes y contextos.

En una etiqueta de CSS

Escribiendo DIV

Agregando un div en XHTML

O puedes agregar los tuyos, según las necesidades que tengas. Crear una nueva macro es muy sencillo:

 

  • En este caso, creando un snippet para crear listas, dejando el primero foco del input entre las dos etiquetas <li></li>

Agregando snippet

 

  • Puedes indicar si se ejecuta con una combinación de teclas o con un comando (como el caso anterior)

Estableciendo el keystroke

 

  • ¡Y listo!, nueva opción insertada y preparada para usarse

Nueva opción lista


Debugging y ejecución

Usar un editor de código no quiere decir que no podamos realizar debugs o probar el código en una ventana de consola.

Luego de preparar un código, Textmate permite ejecutarlo directamente ahí con la combinación de teclas CMD+R:

  • Creamos un código sencillo

Codigo sencillo en Ruby

 

  • Presionando CMD+R, podemos ejecutar ese código (RSpec, la opción 1, es una suite de pruebas de comportamiento para Ruby y Rails)

Presionando CMD+R

 

  • Automáticamente se crea una ventana nueva que ejecuta el código solicitado

Intérprete

 

  • Y todos los mensajes de error que existan

O indica los errores

No tenemos que limitarnos a ejecutar un sólo valor. Una de las formas de revisar un comportamiento de un programa es analizar el resultado de varias partes por separado. Podemos tener ese comportamiento agregando un comentario a la línea en cuestión y colocando el símbolo “=>” (en el caso de Ruby)

 

 

  • Un código sencillo (asignaciones, sumas y restas)

Código plano

  • Agrego un comentario del tipo “# =>” que se utilizará para evaluar las expresiones en ese lugar

 

Agregamos # =>

 

  • Tras ejecutar el comando específico, Textmate inserta el resultado de cada expresión evaluada en el lugar correspondiente

Luego de la evaluación

Resultados inline sin necesidad de soltar el teclado ni variar de ambiente.

Bundles

Los bundles (o plugins) de los editores de código son ayudas increíbles para poder ganar productividad en el trabajo, al igual que utilizando un IDE cualquiera. El el caso de Textmate (que estoy totalmente seguro que existen equivalente en el resto de editores), estos son algunos que he utilizado o utilizo frecuentemente:

ActionScript

ActionScript

Blogging

Escribir posts (este post, por ejemplo, ha sido realizado desde un editor)

Java

Utilizando Java

Python

Python

 

Utilizar un editor de código, como expresé al inicio, es una decisión personal. Pero les invito a todos los que aún no se han animado, a probarlo. En el peor de los casos, verán que no les gusta, pero podrán aprender cosas que puedan implementar en su IDE de elección (como crear plugins, macros o similares. Y en el mejor, podrán encontrar una herramienta que se adapte mejor a su flujo de trabajo.

Apuntes similares

Comentarios

6 comentarios. Deja el tuyo

  1. Christian dijo el el 17 de July a las 12:03 pm

    Para mi en particular Gedit es suficiente (aunque casi siempre me muevo por el frontend), creo que no se justifica el uso de un IDE (a veces muy pesados) si es que no se aprovechan la mayoría de sus funcionalidades.

    Según veo Textmate o Vim por ejemplo no tienen nada que envidiarle a un pesado IDE traga recursos (si es el caso).

    Me gusto el artículo.

  2. coyr dijo el el 25 de July a las 1:58 pm

    Oye que buena referencia sobre Textmate, no sábia que podía trabajar con un svn. Los shortcuts son de lo mejor, gracias!

  3. Alvaro Pereyra dijo el el 30 de July a las 10:14 pm

    Que bueno que haya sido de su agrado ^^. Aunque normalmente no me gusta abocarme a temas muy técnicos en este blog, creo que en esta ocasión valió la pena.

  4. Edgar Parada dijo el el 1 de March a las 8:40 pm

    Alvaro, me gusto tu artículo :-) creo que algo tuvo que ver también nuestra charla en Twitter o fue pura coincidencia?
    Dentro de este artículo tienes algunos links a la deriva (Coloreado en CSS, Commint con varias acciones, Comparando Archivos). En efecto creo que si eres un developer puro un Editor como TM no le pide nada a un IDE y te puede ayudar a mejorar la curva de aprendizaje de cualquier tecnología, aunque también es muy justificado en muchos otros casos la existencia de estas herramientas.
    Por cierto ya agregue tus post a mi lector de RSS, pero me gustaría que vieras la posibilidad de usar las etiquetas para leer de una forma más cómoda artículos largos como este.
    Por último comentarte que te tenía en TW pero mucho buzz Claber en tus tweets hiceron que dejara de seguirte, creo que eres alguien con mucho conocimiento y potencial en un círculo de influencia por lo que te recomendaría sacar una cuenta @devatwork para compartir ideas :-)
    Saludos, Edgar

  5. Alvaro Pereyra dijo el el 1 de March a las 8:49 pm

    Hola Edgar, que gusto leer tu comentario.
    Realmente este artículo tiene ya algo más de tiempo, salió a mediados del año pasado y las imágenes las tenía alojadas en un hosting adicional que tengo que reactivar.

    Sin ellas, no tiene mucho sentido :P

    No entendí muy bien el tema de las etiquetas, pero dale una leía a otros artículos que sí estan bien formateados para que me des una opinión.

    Gracias por los comentarios, y definitivamente seguirme en twitter con la cuenta principal es algo que sólo le recomendaría a gente muy cercana.

    Tengo actualmente @alvaropereyra el cual planeo usar como la cuenta “seria”.

  6. Edgar Parada dijo el el 9 de March a las 1:11 am

    Ups! olvide escribir a que etiquetas me refería, las etiquetas more de wordpress. Sirven para cortar los posts en una intro que es la que se lee en los lectores de RSS como Google Reader y despues viene el resto del artículo. A eso me refería.

Comentar

(*)

(*)


* (obligatorio)



developer-at-work

Developer At Work es un blog de Alvaro Pereyra Rabanal

Puedes contactarme a mi dirección electrónica alvaro.pereyra@srdperu.com, agregame a twitter o visitar el sitio de mi empresa srdperu.

Algunos derechos reservados, 2009. Un proyecto SRDPERU