Eclipse: Cómo hacer más cómodo el trabajo con Eclipse

[Fuente:http://androcode.es/2013/02/como-hacer-mas-comodo-el-trabajo-con-eclipse/ ]

Lo parezca o no, trabajar cómodo con nuestro entorno de desarrollo es muy importante de cara a la productividad. Es por eso que nos cuesta tanto cambiarnos a otro IDE cuando estamos acostumbrados a uno concreto. Nos sentimos perdidos, todo lo que es diferente nos parece peor. Porque no hay nada como escribir código cómodamente.

eclipse_indigo

El post de hoy no es tan exclusivo para el desarrollo Android, pero como también nos afecta a nosotros me ha parecido bien tratarlo. Vamos a ver algunos trucos y consejos para escribir código aún más fácilmente, si estamos usando Eclipse.

Todo lo que se comenta en esta entrada son opiniones a título personal y como orientación Para gustos colores, si no te parecen buenos consejos o tienes otros mejores, cuéntanoslo en los comentarios ;)

Utilizaré como base el ADT Bundle para Windows que tenemos disponible en la página de desarrolladores, que contiene el SDK y una versión modificada de Eclipse 3.6 con la configuración básica para empezar a desarrollar aplicaciones Android.

Como la lista es larga y variada os dejo un índice para localizar más rápidamente cada cosa:

Preparación del entorno

Ayuda para escribir código

Preparación del entorno

Lo primero que vamos a ver son algunos cambios en la configuración de Eclipse que podemos hacer para facilitarnos el trabajo. Aunque opciones hay muchas, éstas son las que me han parecido más útiles. Mi “must have” personal, lo primero que tengo que cambiar si hago una instalación nueva.

Cambiar la codificación de caracteres

Es un tema por el que me he echado las manos a la cabeza más de una vez. Y más de dos, y de trés… Trabajar con diferentes codificaciones es un infierno, sólo causará problemas. Eclipse por defecto en Windows utiliza una codificación, en Linux otra, y en OSX otra distinta. Si trabajas siempre en la misma máquina el problema puede pasar desapercibido, pero en cuanto migras un proyecto de sistema, se lo pasas a alguien, etc. verás como los caracteres especiales se han convertido en símbolos extraños.

Los angloparlantes no suelen tener graves problemas con esto, pues la mayoría de codificaciones respetan sus símbolos. Pero nosotros, con tanta tilde y símbolo raro, vamos a encontrarnos en apuros. Lo mejor es curarse en salud y cambiar desde un principio la codificación de todo el workspace, en el menú bajo Window > Preferences,  a una universal como UTF-8.

codificacion

Si lo hacéis no me lo agradeceréis porque no os daréis cuenta de que os ha servido. Pero si no, ya os arrepentiréis.  ;-)

Desactivar compilado automáticocompilar todo

Por defecto Eclipse tiene activada la opción de compilar automáticamente nuestro proyecto cuando guardamos algún archivo modificado. Esto es especialmente problemático en Android cuando tenemos proyectos relativamente complejos, con varias librerías externas vinculadas y demás compilar puede llevar varios segundos o peor en ordenadores con pocos recursos (¿he oído minutos?). Y no es agradable que nos interrumpan el trabajo sólo por guardar los cambios. Por ello es de lo primero que desactivo cuando abro Eclipse por primera vez. Sólo hay que desmarcar la opción en Project > Build Automatically.

build

Aunque desactivando dicha opción tenemos el problema inconveniente de tener que compilar manualmente cuando lo necesitemos. Por suerte tenemos el atajo de teclado Ctrl+B para hacerlo a golpe de tecla, pero este atajo corresponde al comando Build All, es decir que nos compilará todos los proyectos de nuestro workspace. ¡Aún peor que lo anterior! Don’t panic, es tan fácil como cambiar el atajo para que ejecute el comando Build Project en su lugar, de esa forma la combinación te teclas sólo compilará el proyecto en el que nos encontremos en ese momento. En el apartado Keys de las preferencias buscamos el comando Build All y le anulamos el atajo de teclado con Unbind Command, luego seleccionamos Build Project y en Binding pulsamos la combinación Ctrl+B (u otra) para establecérsela.

build3

Aunque para ejecutar no suele hacer falta compilar porque ya lo hace solo, ya sabemos cómo se pone de tonto a veces Eclipse. Es uno de los comandos que yo más utilizo.

Desactivar corrección ortográfica

Curiosamente Eclipse tiene corrector ortográfico para los comentarios y documentación. Pero a los hispanohablantes no nos sirve de mucho si escribimos en español porque sólo está en inglés. Podríamos descargar e instalar un diccionario en español, pero yo prefiero optar por desactivarlo por completo y quitarme las molestas líneas rojas que salen por todas partes.

spelling

Explorador de paquetes en vista jerárquica

El explorador de paquetes nos permite 2 formas básicas de visualizarlos: plana y jerárquica. Por defecto nos los muestra de forma plana, pero cuando tenemos muchos paquetes anidados la jerárquica permite verlos más claramente con su estructura de árbol. ¿No os parece?

package

Podéis usar la que más os guste, en cualquier caso el cambio es sencillo.

package3

Ayuda para escribir código

Ahora veremos alguno ajustes orientados a facilitarnos la escritura de código. Eclipse permite un alto nivel de personalización, pero sólo veremos unos que me parecen muy interesantes. Como antes, recomiendo echar un ojo a todas las opciones y adaptarlo todo a nuestras necesidades.

Punto y coma siempre al final

En java las sentencias llevan un punto y coma al final. Parece una tontería, pero son incontables las veces que he tenido que desplazarme al final de la línea para poner un punto y coma. Con este cambio Eclipse colocará la puntuación correctamente al final de la línea aunque estemos editando en mitad, ahorrándonos un par de pulsaciones de tecla.

semicolon

Autocompletado de métodos mejorado

El autocompletado de Eclipse es magnífico. Ctrl+Espacio es la combinación que más uso con diferencia, nos ahorra escribir una barbaridad de código. Pero algo que siempre me ha reventado es cómo al completar una variable o un método desde en medio inserta el texto en vez de modificarlo.

overwrite12

Pues hace poco descubrí que se podía cambiar para que sustituyera el resto del texto. De esa forma en el ejemplo anterior obtendríamos lo siguiente:

overwrite34

A mi me resulta muchísimo más útil la segunda transformación, y sólo hay que cambiar una opción:

overwrite

Escapar Strings al pegar texto

Copiar y pegar es el recurso más utilizado. ¿Cuántas veces hemos pegado en una cadena un texto copiado de otra parte que contiene comillas y otros caracteres que necesitan ser escapados (como las comillas en un código html)? Activando esta opción no tendremos que hacerlo más, pues el texto se transformará automáticamente cuando lo peguemos para escapar dichos caracteres.

strings

Aquí vemos cómo quedaría al pegar una cadena con comillas antes y después de activar esta opción:

strings2

Acciones al guardar

Nos puede venir bien que Eclipse haga determinadas cosas automáticamente cuando guardamos un archivo. Por ejemplo, que reorganice las importaciones de paquetes, o que formatee el código según las reglas que le digamos. Debo confesar que yo personalmente lo tengo desactivado, porque tengo la manía de guardar los cambios constantemente, y al procesar el archivo cada vez puedo notar el retraso en contadas ocasiones si el ordenador está pasando un mal rato y no lo soporto. Pero aun así, si no sois tan maníacos como yo seguro que agradecéis esta función.

save

Formateo de código

Otra de las funciones más útiles de Eclipse es el formateo de código automático, mediante la combinación de teclas Ctrl+Shift+F. Nosotros escribimos (o pegamos) un churro, con las indentaciones mal puestas, espacios sobrantes, etc., y Eclipse nos deja un código limpio, claro y ordenado. Pero es importante para estar cómodos con nuestro IDE que nos produzca código que nos guste. Para ello viene bien echar unos minutos en revisar las opciones de personalización del formateo de código, que no son pocas. Podemos tener varios perfiles, e incluso configurar un perfil distinto para cada proyecto (modificando las preferencias del proyecto concreto, y no las globales). Para personalizarlos creamos uno nuevo o editamos el existente (habrá que guardarlo con otro nombre).

format1

Aquí entran muy en juego los gustos de cada uno. Aconsejo mirar todas las opciones, elegir las que nos parezcan mejores, y volver a mirarlas tras llevar un tiempo con ellas para asegurarnos de que estamos cómodos con todas.

format2

Os comento como ejemplo las que yo suelo cambiar, que son realmente pocas: En Identation pongo Tab Policy a Tabs Only, y activo Statements within switch body; en Line Wrapping pongo el Maximun line width a un valor alto como 200 para que no me divida las líneas, y activo Never join already wrapped lines por si quiero dividirlas  manualmente; y por último en Comments activo Never join lines para decidir yo los saltos de línea, y pongo el Maximun line width también a un valor como 200.

Mucho ojo a esta función si trabajamos en grupo con repositorios, o si contribuímos a proyectos de software libre. Debemos adaptarnos a las normas comunes, así que si pensamos dejar que Eclipse formatee nuestro código debemos asegurarnos de respetar dichas normas. No queremos que Git nos marque todo el archivo “en rojo” cuando sólo hemos cambiado una línea, ¿verdad?

Etiquetas

No muy usadas, pero están ahí para ayudar a organizarnos si las necesitamos. Las etiquetas son comentarios especiales que podemos poner para marcar nuestro código. La más famosa es la etiqueta TODO, para dejar anotado algo que tenemos que hacer o cambiar en un futuro. Pero nosotros mismos podemos crear nuestras etiquetas personalizadas. Por ejemplo DEBUG para indicar algo que debemos quitar antes de sacar la aplicación a producción,  asignar tareas a determinadas personas en un grupo, etc.

tags

Luego podemos ver la lista de etiquetas usadas en la vista Tasks (Si no la tenemos se activa en Window > Show View > Tasks)

tags2

Plantillas de código

Eclipse nos permite usar palabras clave para generar automáticamente determinadas estructuras de código, y más aún, crearlas a nuestro gusto. Por ejemplo, uno de los métodos más utilizados en Java es System.out.println() para imprimir texto en la consola; pues nos basta con escribir en el editor “sysout” y pulsar el autocompletado (ctrl+espacio) para que nos inserte la línea completa y nos ponga el cursor en la posición del argumento. Lo mismo ocurre con “try” para insertar un bloque try-catch.

codtemplate12

La lista completa podemos verla en las preferencias, y ahí mismo podemos añadir nuestras propias plantillas. Por ejemplo, podríamos crear una plantilla así para inicializar el método getView() típico del BaseAdapter:

codetemplates3

codetemplates4

Copiar código

Y en el editor de código, poniendo la palabra clave con autocompletado, nos genera el código por el que podemos movernos mediante el tabulador. ¡Magia!

codetemplates56

Plantillas de ADT

No hace mucho añadieron al plugin ADT la posibilidad de crear componentes de Android como Actividades para nuestras aplicaciones mediante un asistente, que podemos encontrar en el menú File > New bajo la categoría de Android, el cual nos genera el código y recursos que podemos editar fácilmente. Por ejemplo, en el caso de las Actividades nos creará un layoutmenú básicos en xml, la clase Java correspondiente con el código para mostrar el layout y el menú, y la entrada necesaria en el AndroidManifest.xml. E incluso podemos decirle que nos añada elementos extra de navegación como pestañas, ViewPager y más.

templatesadt2

Por si fuera poco, un tiempo después añadieron la posibilidad de instalar plantillas personalizadas creadas por nosotros mismos. Yo os recomiendo estas plantillas creadas por Jeff Gilfelt para crear Actividades compatibles con la magnífica librería ActionBar Sherlock, entre otras. En el repositorio tenéis más información sobre para qué es cada uno de los elementos que añade. Además, instalar las plantillas es tan sencillo como pegarlas en la carpeta /extras/templates/ del SDK.

templatesadt4

Tenéis más información sobre cómo crear plantillas en este post de Google+. ¿Se os ocurren más plantillas útiles? ¿Os animáis a hacerlas y compartirlas? ;)

Y hasta aquí los cambios que os sugerimos para vuestro IDE, espero que algunos os resulten tan útiles como a mi. En futuras entregas intentaremos contar otros trucos a la hora de usar Eclipse. Si tenéis más sugerencias relacionadas son bienvenidas en los comentarios  ;-)