Cómo migrar de Eclipse a IntelliJ IDEA (… y no morir en el intento o ser asesinado por tus compañeros de equipo)

Hace un año empezaba a trabajar como desarrolladora de Android en un nuevo equipo. La mayor parte de mis compañeros utilizaban Eclipse, excepto el lead del equipo. Ahí fue dónde oí hablar de IntelliJ por primera vez y mi curiosidad se despertó. Tenía que probar las maravillas que hablaba de él.

Logo de intelliJ

Logo de intelliJ

Así que me puse manos a la obra y no sin algún que otro problemilla (no sólo técnico), conseguí que todo funcionara a la perfección. Tanto, que ahora no quiero utilizar ningún otro editor. IntelliJ me resulta mucho más rápido que Eclipse, es mucho más cómodo para usar shortcuts (y se aprenden muy fácilmente gracias a un plugin) lo cuál hace que mi trabajo sea mucho más rápido y eficiente, es genial para refactorizar (te hace todo el trabajo sucio sin que tengas que gastar una gota de sudor), tiene un maravilloso autocomplete que te lee la mente y por último, y no menos importante, tiene millones de plugin que se ajustan a cualquier cosa que se te ocurra que puedes necesitar.

La única pega, es que es de pago (la versión Ultimate) pero tiene una versión gratuita Community, que funciona bastante bien aunque soporta menos lenguajes. Si tienes curiosidad, puedes probar la versión Ultimate durante 30 días sin coste alguno (pero no lo hagas, porque la terminarás pagando!).

La otra pega, es que no incluye el MAT o Memory Analizer que incluye Eclipse. Por lo que si te quieres divertir buscando posibles leaks, tendrás que descargarte la versión standalone de aquí.

La razón de sentarme a escribir este post ahora, un año después, es la decisión de Google de empezar a utilizar IntelliJ como el editor preferido para Android. El Android Studio, es una versión de IntelliJ (la 13) que aún está en preview, pero que puedes conseguir en el Early Access Preview de IntelliJ sin ningún problema. Y como yo en su día, seguramente habrá algún desarrollador al que le haya picado la curiosidad y esté comenzando a migrar de Eclipse a IntelliJ. No es un tutorial para hacerlo, existen unos cuantos ya por ahí, sino que es una serie de consejos que a mi me sirvieron en su día y que tras tanto golpearme la cabeza contra muros hicieron que todo funcionara a la perfección. Ahí van!

 

1. Dónde están mis proyectos? Y mi workspace?

En IntelliJ, se utiliza otra estructura para lo que conocemos como proyecto y workspace en Eclipse. Una vez iniciado el editor, la primera pantalla que nos va a mostar es la de elección de proyecto. Si hacemos una analogía con Eclipse, se puede decir, que este será nuestro workspace. En una ventana de IntelliJ, sólo podremos tener un proyecto abierto al mismo tiempo.

Una vez abierto el proyecto, este estará compuesto por módulos (que podrían entenderse como los proyectos en Eclipse). Un módulo puede ser nuestra aplicación, como los fuentes de librerías que incluyamos. O si estamos desarrollando la app aplicando dependency injection, pues sería cada uno de los módulos utilizados por ella, que funcionan de forma independiente.

También podemos crear un módulo con los Unit Tests (la configuración de las librerías de mock y instrumentación darán para otro post…).

Si importas un proyecto desde Eclipse, verás que tendrás que crear un proyecto (será el proyecto principal de tu app) y luego ir importando el resto de dependencias como módulos (por ejemplo, si estás utilizando la API de Facebook, tendrás que incluirla como un módulo).

proyectosintellij

 

2. Ya he importado todos los módulos, pero al ejecutar mi app no encuentra las dependencias, que ha ocurrido?

Bueno, esta es una de las pocas cosas que podría echar de menos de Eclipse. Una vez que tenemos un proyecto o una librería en el mismo path que nuestro proyecto,  no hay que hacer nada (excepto importarlo en código) para que entienda que tiene que utilizarlos para construir nuestra app. Sin embargo, en IntelliJ, tendrás que configurar las dependencias que haya entre los diferentes módulos.

Para ello, puedes modificar la estructura de proyecto o Project Structure (comando+; en Mac OS). Selecciona Module a la izquierda y podrás configurar el orden en que quieres que se compile tu app y podrás añadir las dependencias necesarias.

Dependencias en IntelliJ

Es importante que cuando añadamos un nuevo módulo, abramos su ventana de configuración (Facet Android en el caso de apps de Android) y seleccionemos “Library module” (en el caso de que sea una dependencia de nuestro módulo principal). Esto me llevó unas horas de investigación 😛

 

3. El orden de los factores sí que altera el producto

Cuando configures las dependencias de tu proyecto, ten en cuenta que el orden importa, por lo que ordena las dependencias de la manera que quieras que se compilen. Por ejemplo, cuando configures junit4 para realizar unit tests, tienes que poner primero la librería de tests antes que la libería de Android, ya que Android utiliza junit3 y se configuraría este primero y te daría errores si estás utilizando nuevos métodos o clases no incluidos en esta versión. Esto me llevó otras horitas de diversión…

4. Mantén las librerías ordenadas

En la pantalla de estructura de proyecto, vemos que hay una opción llamada Libraries. Aquí puedes crear un gran paquete que incluya todas las librerías que quieres utilizar (y luego desde la ventana de dependencias sólo tienes que llamar a dicha librería, por que te facilita bastante la vida) o crear pequeños paquetitos de librerías según su cometido (lo cuál hace que tu proyecto quede mejor ordenado y es más fácil reutilizar estos paquetitos si los necesitas para otro módulo).

library

 

5. Shortcuts!!

Me encanta trabajar utilizando sólo el teclado, creo que ir a agarrar el ratón te consume unos preciados segundos que podrías aprovechar codificando o rascandote la cabeza con cara de preocupación. En IntelliJ todo gira entorno a los comandos de teclado.

Mi consejo es que te descargues uno de estos maravillosos wallpapers con todos los comandos de teclado de IntelliJ IDEA, que te servirá a modo de chuleta cuando lo necesites.

Mi segundo consejo es que instales este plugin, que te va repitiendo los shortcuts de cada acción que realices en IntelliJ.

Y el último consejo, pero el más importante de todos es que no te olvides nunca de este comando: shift + comando + A (en Mac OS), ctrl + shift + A (Windows y Linux). Te salvará la vida cuando lo necesites, puesto que abre un buscador de comandos/funciones del editor.

 

6. Por qué todo el mundo me mira mal y he sufrido par de intentos de asesinato?

Como early adopter, muchas veces vas a ver que no todo el mundo estará de acuerdo en utilizar el mismo editor. Esto puede traer ciertos problemas: se pasarán el día diciendo que su editor es mejor y achacarán cada error a que utilizas un editor distinto. No pasa nada, tu ya sabes que estás utilizando la mejor opción posible así que no les hagas caso.

Un problema más imporante es el formatter utilizado para formatear el código. IntelliJ formatea el código de una manera bastante diferente a Eclipse. Lo que cuando trabajas solo no importa, pero cuando estás trabajando en un proyecto en equipo, utilizando algún sistema de repositorio, puede terminar en lo que se conoce como “merge hells”.

Para eso, existe en IntelliJ un plugin que nos permite utilizar el formatter de Eclipse, y lo puedes descargar de aquí. Para todo lo demás, paciencia 😉

Funciona bastante bien pero tiene un pequeño problema: no formatea los resources XML de Android. Pero bueno, al menos te ahorrará más de un disgusto!

 

Y con esto ya termino esta entrada. Seguramente se me ocurrirán más cosillas, así que puede que haya continuación…. chan chaan…

 

Etiquetado con: , , , , , ,
Publicado en: android, desarrollo, intellij
6 comentarios sobre “Cómo migrar de Eclipse a IntelliJ IDEA (… y no morir en el intento o ser asesinado por tus compañeros de equipo)
  1. seniorx dice:

    Actualmente uso eclipse e intellij prácticamente lo mismo. En mi opinión el mejor IDE es el que mas te guste o se adapte a tus necesidades, cada cual que use el que quiera y que deje al resto tranquilo.

    PD: muy interesante el articulo, me ha servido bastante de ayuda.

  2. Baiju dice:

    -Actually, I’ve found using a 64-bit JVM and compressed OOPS makes all the dineerffce. I think for any sort of navigation around your source, IDEA is infinitely faster yes, there is a tradeoff in that the caches are much larger and require a slightly higher memory footprint but ultimately, IDEA lets me focus on getting code written.That’s the primary reason why I think IDEA > Eclipse it’s designed with the intent of letting you focus on code, and not on getting around the IDE. In fact, my only real complaint is that I do still have a tough time finding the correct types of refactorings for less-than-common operations (i.e., more than just renaming/field extraction/push-pull/etc.).

  3. Elias Daniel dice:

    Muy interesante tus consejos (y)

  4. Javier Gomez dice:

    Gracias por la info la tomaremos en cuenta para un proyecto saludos

  5. Dailymule24u dice:

    http://www.nakarmrybe.pl/wkladka-cierna
    Buying a used or new automobile might be a hard procedure unless you know what you are actually undertaking. By teaching yourself about vehicle shopping before you go to the dealership, you can make points simpler for yourself. The following advice may help your upcoming shopping trip be satisfying.

    Usually bring a auto technician coupled when buying a new vehicle. Auto dealers are popular for promoting lemons and you may not need to be their following target. Whenever you can not get yourself a technician to check out autos along, no less than ensure that you have him look at your last option before buying it.

    Know your restrictions. Before you begin shopping for your vehicle or van, decide how much you can manage to pay, and adhere to it. Don’t overlook to add fascination with your calculations. You will definitely spend close to 20 % as a down payment as well, so prepare yourself.

    Prior to going to a dealership, know what type of vehicle you would like. Analysis most of you options ahead of shopping so that you can determine what works best for your finances and family members requires. Seek information to determine exactly how much you should be paying for any potential automobile.

    Before you sign any deal take time to read each and every collection, including the small print. If you have anything at all detailed that you simply do not recognize, do not indication before you receive an solution that you just comprehend. Unsavory salesmen are able to use a legal contract to put numerous fees that had been not reviewed.

    In the event you keep your previous advice at heart the very next time that you just go purchasing a automobile, you will end up prone to get a better bargain. Getting a car lacks to be a head ache. Simply use the tips with this write-up and you can obtain the auto you want in a excellent value.

  6. RE:Migrar de Eclipse a IntelliJ – Android ??? ????? ???????????? ??????? ????

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>