Hipervitaminando Atom

Aunque llevo ya unos años utilizando (y siendo fan) de RubyMine para mi trabajo diario, nunca he dejado de utilizar o probar otros editores y entornos siempre que he tenido oportunidad.

Atom me llamó la atención cuando lo probé hace más de un año, poco después de su lanzamiento, pero no ha sido hasta hace unas semanas, aprovechando la excusa de que ya era una versión 1.0, cuando me he puesto a utilizarlo en serio.

En todas partes

En Atom todos los ficheros de configuración, paquetes instalados, etc residen en el directorio ~/.atom. Podemos aprovechar esto para por ejemplo poner esta carpeta dentro de Dropbox y hacer un enlace simbólico, tal que así:

mv ~/.atom ~/Dropbox
ln -s ~/Dropbox/.atom ~/.atom

Luego, en el resto de equipos donde vayamos a utilizar Atom podemos hacer lo siguiente:

rm -rf ~/.atom
ln -s ~/Dropbox/.atom ~/.atom

De esta manera tendremos la misma configuración de Atom en todos nuestros equipos. Cualquier paquete o tema que instalemos, cualquier opción de la configuración que cambiemos, la tendremos en todos nuestros equipos.

Paquetes recomendados

Estos son algunos de los paquetes que tengo instalados y que me resultan de más utilidad:

  • atom-beautify: “Embellece” nuestro código fuente. Soporta HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, y SQL. Para algunos de estos lenguajes necesitarás instalar alguna aplicación de apoyo o una gema, como por ejemplo ruby-beautify en el caso de Ruby.
  • color-picker: Muestra un color picker interactivo con soporte para los formatos HEX, HEXa, RGB, RGBa, HSL, HSLa, HSV, HSVa, VEC3 y VEC4, así como conversiones entre estos formatos. También soporta la inspección de colores en ficheros SASS y LESS. Imprescindible si te toca tocar hojas de estilos y ajustar colores.
  • editorconfig: Dota a Atom de soporte para el estandar EditorConfig. Básico en proyectos donde cada uno utiliza su propio editor pero quieres asegurar que todos sigan las mismas reglas de formateo de código.
  • file-icons: Cambia el icono de fichero en base a las extensiones para así poder distinguir de forma bastante visual qué tipo de fichero vamos a abrir. Estético, pero muy útil.
  • git-plus: Implementa como acciones accesibles desde la paleta de comandos muchas de las acciones que podemos realizar desde consola con git.
  • linter: Provee de una base para soportar multitud de linters específicos de diferentes lenguajes. Por ejemplo, para Ruby yo lo uso en combinación con linter-rubocop. Entre las diferentes opciones está la de linting sobre la marcha, o mostrar los totales de advertencias y errores por línea, fichero o proyecto.
  • merge-conflicts: Una ayuda visual para resolver los conflictos de los merges.
  • minimap: Añade un minimap al estilo del que tiene Sublime Text. Algunos plugins, como el propio linter, tienen soporte para mostrar más información en este minimapa.
  • project-manager: Permite guardar y cambiar de forma rápida entre proyectos.
  • recent-files-fuzzy-finder: Mejora el fuzzy finder de Atom sugiriendo en primer lugar los ficheros de apertura más reciente, al estilo de lo que hace RubyMine.

Ruby Links (IV)

Y vamos con la cuarta entrega de la colección de enlaces sobre Ruby:

Ruby Links (III)

Tercera entrega de la colección de enlaces sobre Ruby: