GitHub no me deja de sorprender con su editor de texto Atom, desde que cambié Sublime Text por Atom, he de reconocer que estoy muy contento (aunque ambos editores son excepcionales). La última sorpresa me la he llevado con el lanzamiento de Atom-IDE, que son una serie de paquetes adicionales que permiten convertir el editor Atom en un IDE (Integrated Development Environment).
Características del proyecto Atom-IDE.
Este proyecto salió a la luz hace escasas semanas y es producto de la colaboración entre Facebook y GitHub. En esta primera etapa de desarrollo de Atom-IDE, se han centrado en incluir funcionalidades básicas como: autocompletado, navegación inteligente de código, formateo de sintaxis, búsqueda de referencias, utilidades de diagnóstico (errores y advertencias, etc).
Para las funcionalidades básicas antes mencionadas, se ha empleado una implementación de Language Server Protocol. Este protocolo está siendo adoptado cada vez por más compañías importantes, ya que reduce la complejidad de dar soporte a diferentes lenguajes de programación en un mismo IDE. Por el momento los lenguajes de programación soportados por Atom-IDE son Java, TypeScript, C#, PHP, Flow y JavaScript.
Como instalar Atom-IDE en nuestro sistema.
Para instalar Atom-IDE, necesitamos tener instalado el editor Atom y después instalar los paquetes necesarios. En primer lugar iremos hasta el menú Packages → Settings View → Install Packages/Themes
e instalar el paquete atom-ide-ui
. Seguidamente debemos instalar el paquete correspondiente al lenguaje de programación que usaremos:
- Java:
ide-java
(requiere Java 8 instalado en el sistema).
- TypeScript y Javascript: el paquete es
ide-typescript
y aunque está diseñado para TypeScript funciona perfectamente con Javascript.
- C#:
ide-csharp
(basado en el proyecto abierto OmniSharp).
- PHP:
ide-php
(requiere PHP7 instalado en el sistema).
- Flow:
ide-flowtype
(paquete desarrollador por Facebook).
Esta es la primera versión de Atom-IDE disponible al público y se espera que con la colaboración de la comunidad se llegue a dar soporte a otros lenguajes como Python, Rust, Ruby, Go, etc.