Para gustos los colores (y los IDEs de programación)

by Francho Joven

13 Jan 2014

. Comments

screen-captureDefinitivamente los programadores somos un poco bipolares: se nos llena la boca al hablar de automatizaciones de tests, despliegues y cosas similares que hacemos para facilitarnos la vida, pero sin embargo, que no se te ocurra decir que usas un IDE moderno…

...y es que todo el mundo sabe que los buenos programadores, los de pelo en pecho, usan el Vi, en una consola negra y sin tocar el ratón (o en su defecto el Emacs o el Sublime si eres de los modernos)

He de reconocer, que yo era de los que pensaba así. Durante años programé con el Vi (que no vim), luego empecé a usar editores tipo Gedit, o Bluefish hasta llegar al Netbeans, Eclipse o Sublime Text. Con cada cambio de editor iba descubriendo funcionalidades nuevas que pasaban a ser imprescindibles.

Y es que lo de los buenos IDEs es como el doble monitor, una vez que lo has probado te cuesta trabajar sin el.

Muchos me diréis que para aprender un lenguaje de programación o a manejar una herramienta hay que hacerlo sin ayuda externa… puede que tengáis razón, pero aquí estamos hablando de ser productivo. Así que por ejemplo una vez que conozco los comandos de git ¿por qué no usar el menú contextual para enviar mis commits? o ¿porqué no usar el autocompletado para escribir mi código en vez de ir cada dos por tres a los manuales?

Yo continuamente estoy saltando de un lenguaje de programación a otro, de un proyecto a otro, y he de reconocer que sin ciertas ayudas esto me costaría mucho.

A día de hoy a mi IDE le pido que tenga:

  • Coloreado de código
  • Autocompletado potente y rápido, que funcione bien con los lenguajes anarcas tipo Javascript
  • Inspectores de código configurables que analicen lo que escribo a tiempo real en busca de bugs y fallos de estilo
  • Un menú de refactor potente con atajos de teclado
  • Integración con el sistema de gestión de proyecto (Jira o similar) que me permita ver las historias de usuario o tickets sin abrir el navegador, asociarlas a tareas de trabajo.
  • Integración con el sistema de control de versiones que, aparte de lo típico (commits, gestión de conflictos, etc), me genere luego los mensajes de commit normalizados de forma automática basándose en la tarea
  • Integración con el runner de tests
  • Integración con el debugger ya sabes… puntos de ruptura y todo eso (si en PHP y Javascript también)
  • Opción de “auto guardado” que paso de tener que estar dando al botón de guardar cada vez (para eso está el deshacer).
  • Si estoy programando web que me permita ver en el navegador lo que voy cambiando sin necesidad de refrescar
  • Que sea extensible y configurable (sobre todo los atajos de teclado)

De un par de años a esta parte estoy usando IntelliJ como IDE (es el editor que la gente de Google tomo como base para crear Android Studio), para programar Android, Java, PHP y Javascript que son los lenguajes que utilizo en el trabajo principalmente, aunque también lo he usado para temas puntuales en Python y Ruby.

Si, ya se que es de pago, pero estamos hablando de tu herramienta de trabajo con la que pasas más tiempo que con tu pareja... no me digas que no puedes permitirte pagar su licencia (a parte que también tienes la versión gratuita)

Aparte de los plugins específicos de cada lenguaje, tengo instalados los plugins de Live Edit, Angular JS, GitHub, Karma, Atlassian connector (y alguno que otro mas que seguro que me dejo), con lo que todas mis necesidades están cubiertas.

A nivel de inspectores de código tengo configurados los mismos (Jshint, CodeSniffer, etc…) que pasan mis servidores de integración continua, con lo que no me llevo ninguna sorpresa cuando se ejecutan los tests.

Otro tema interesante es el del teclado. En el trabajo tengo un Linux y en casa suelo trabajar con el MacBook con lo que me hacía un lío con los atajos de teclado. Esto lo solucioné comprando un teclado mac para el curro y mapeando las teclas de mi Ubuntu para que los atajos de teclado sean los mismos en ambas plataformas.

Resumiendo: si todavía eres de los que crees que se programa mejor en una terminal, te recomendaría que probaras un editor moderno, le instalaras los plugins de los servicios que usas, perdieras un poco de rato en configurarlo y aprender a manejarlo. Pasadas unas semanas ya me dirás si vuelves a tu antiguo editor ;)

Y tú ¿qué IDE usas?