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 en Ruby
Coloreado en JavaScript
Coloreado en XHTML

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).
Todas las acciones integradas con Textmate de SVN
Realizando un Commit

Realizando un Commit de varias acciones
Estado actualizado de todos los archivos con su copia en el SCM

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

- 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.
- 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
- Y luego de escribirla, automáticamente la actualiza líneas más abajo, donde el contexto marque que sea necesario.
- Otro TAB adicional, y me desplazo al siguiente campo a editar
- Y nuevamente actualiza el nombre en las líneas de abajo. ¿Y ese código “marcc” que insertó?
- 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).
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
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>
- Puedes indicar si se ejecuta con una combinación de teclas o con un comando (como el caso anterior)
- ¡Y listo!, nueva opción insertada y preparada para usarse
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

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

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

- Y todos los mensajes de error que existan

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)
- Agrego un comentario del tipo “# =>” que se utilizará para evaluar las expresiones en ese lugar
- Tras ejecutar el comando específico, Textmate inserta el resultado de cada expresión evaluada en el lugar correspondiente

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

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

Utilizando Java

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
- No nos compliquemos (7): Recuerdo que en una ocasión, mientras cursa
- Buscando la claridad en el código (4): Hace poco me encontraba revisando algunos discos d
- Prueba tus sitios web en IE con netrenderer (4): No cabe duda alguna que probar tu sitio web con IE
- La guerra santa en el desarrollo (9): Lo vemos diariamente en diversos sitios web y el p
- Sobre el Diseño de Interfaces (9): Durante los últimos años, aquellas personas que




















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.
Oye que buena referencia sobre Textmate, no sábia que podía trabajar con un svn. Los shortcuts son de lo mejor, gracias!
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.
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
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
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”.
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.