IntelliJ IDEA una gran alternativa para programar en JAVA

Cuando estás trabajando en un proyecto JAVA te das cuenta de que estás haciendo algo mal cuando comienzas a ver como tus compañeros terminan a su hora y tu te quedas “un poquito más” para tratar de avanzar. Y así puedes estar durante uno o dos días, o incluso una semana, hasta que se pasa por tu cabeza la idea de preguntar qué está pasando. Es entonces cuando decides investigar sobre cuáles son los IDE más utilizados en programación Java y descubres que no estás usando la herramienta adecuada y los demás están usando el IDE correcto. Esto fue exactamente lo que me sucedió cuando descubrí IntelliJ IDEA. Todo este tiempo trabajando con NetBeans pudiendo hacer mi trabajo más rápido y eficiente con el IDE de desarrollo adecuado.

 

IntelliJ IDEA

 

Desarrollado por la empresa Jet Brains es un IDE que cuenta con dos versiones. Una versión de pago -la Ultimate Edition- con 30 días de prueba gratuita, más que suficiente para valorar invertir la friolera de 500 dólares que cuesta la licencia en su suscripción anual, o la otra versión libre o también llamada Community Edition. Personalmente, si solo quieres probar cualquiera de las dos versiones es perfectamente usable, aunque sí quieres dedicarle más tiempo mi recomendación pasa por probar la versión abierta y decidir si vale la pena o hacer una ampliación de la licencia más adelante.

Con IntelliJ podemos programar sobre diferentes lenguajes y proporciona soporte para trabajar, además de con JAVA, con Node JSPHPPythonRubySassTypeScript, AngularJSCoffeeScriptCSSHTMLJavaScriptLESS, etc. Ofrece algo que personalmente me encanta que es una integración nativa con GIT, lo que permite trabajar con diferentes versiones de nuestro proyecto sin afectar a la línea maestra de nuestro desarrollo y sin salir de nuestro IDE para obtener su ultima versión o enviar un commit con los cambios realizados. Pero hay más. También comprende y proporciona asistencia de codificación inteligente para una gran variedad de otros lenguajes como SQL, JPQL, HTML, JavaScript, etc., incluso si la expresión de lenguaje se inyecta en un literal de cadena en nuestro código Java.

Leyendo esto es fácil suponer que IntelliJ se encuentra entre las herramientas imprescindibles para un desarrollador de Java. De hecho es tal la aceptación de este entorno integrado de desarrollo entre la comunidad de desarrolladores que, actualmente es usado por cerca del 45% de los mismos y sorprende por el entorno "alérgico" a pagar en el que nos movemos que el 32% utiliza la edición de pago de éste. Por algo será.

 

Instalación

Dicho todo esto no está de más darle una oportunidad e instalar cualquiera de las dos versiones disponibles desde su web oficial. Recordemos que la versión Ultimate cuenta con un periodo de prueba de 30 días y creo que vale la pena con las ventajas que logramos a cambio. Entre las características adicionales encontramos además un sistema que detecta código duplicado en nuestro proyecto y un asistente de optimización, soporte para el gestor de versiones Perforce y soporte para nuestro código basado en TypeScript. Pero lo mejor es que si tenemos proyectos previos desarrollados bajo los framework Spring, GWT, Vaadin, Play, Grails, etc., no tendremos que hacer nada para importarlos ya que los soporta de manera nativa.

 

Las herramientas

Como buen mecánico del software no seríamos nada sin nuestras herramientas. Algo que recomiendo encarecidamente es que tras la instalación te hagas con las ToolBox de Jet BrainsBásicamente se trata de un centro de software donde puedes descargar y mantener actualizadas las versiones del software de los productos Jet Brains que tengas de manera centralizada y, en especial, poder cambiar entre sus proyectos cómodamente a golpe de click sin perder tiempo.

 

Atajos de teclado para ser un ninja con IntelliJ IDEA

Tras instalar IntelliJ IDEA verás que es bastante fácil hacerse con él y que no requiere una curva de aprendizaje elevada.

Además, todas las acciones están disponibles mediante los menús pero, en lo personal, creo que usarlas de esta forma te hace sentir que todo es muy lento y que no llegas a interiorizarlas jamás.

Si lo que quieres es optimizar tu rendimiento, debes acostumbrarte a usar cuanto antes sus atajos de teclado (o shorcuts), lo que realmente consigue que sea totalmente natural pulsar Alt + Shift + M para extraer un método, por ejemplo. Por supuesto, una buena forma de aprender estos atajos de teclado es introducirlos de manera progresiva en la dinámica de trabajo. A continuación indico algunos de los más comunes para que sirvan de ayuda:

 

[Ctrl + ⇧ + A]: Este es el atajo de teclado que abre el camino a todos los demás atajos. Básicamente despliega un popup de búsqueda en el que puedes buscar cualquier acción. Si la acción buscada tiene asociado un atajo de teclado, éste se mostrará. Aquí podría terminar el tutorial, ya no necesitas más, pero vamos a seguir. Seguro que lo agradeces.

[Ctrl + Alt + S]: Abrir preferencias.

[Ctrl + N]: Navegar a una clase.

[Alt + Arriba]: Puedes ahorrarte unos valiosos segundos al tener un atajo de teclado para seleccionar el contexto en que nos encontramos, empezando por la palabra, en lugar de tener que desplazarte al principio o el final de una palabra para seleccionarla.

[Ctrl + Enter]: Para crear código. Por ejemplo, los típicos constructores, getters y setters, generar los métodos con override, etc.

[Ctrl + T]: Invocación del menú de refactor que nos mostrará diferentes opciones para refactorizar nuestro código.

[Ctrl + V]: Invocación del menú de control de versiones. Aunque si ya lo tienes todo configurado basta con un [Ctrl + K] para hacer un Commit o Push con [Ctrl + ⇧ + K].

 

Conclusión

Tal como me sucedió no tardarás en darte cuenta de que IntelliJ IDEA supera por mucho a otras opciones comerciales y es tan bueno que te hará pensar dos veces si regresar a Eclipse o NetBeans. Por supuesto todo es cuestión del uso que quieras dar, pero si la práctica hace al maestro, usar IntelliJ IDEA te ahorrará muchas tazas de café y tiempo en la oficina. :)

Guía de Posibilidades Profesionales en el Ecosistema de Java