Descubrir Eclipse paso a paso
Este documento es simplemente una guía para poder ver en sólo una hora algunas de las principles funcionalidades que tiene Eclipse.

ArtículoIntroEclipse.pdf
OBJETIVOS:
Perder el miedo al entorno
Tocar un poco las principales cosas que hay para que después quien quiera se lo mire con calma.
No entraremos a configurarlas, pero todo es configurable.
Muchas cosas son útiles una o dos veces al día, no más. Ahora las veremos, aunque no haremos un uso extensivo.
Es una introducción guiada, rápida y por encima de las diferentes posibilidades que ofrece Eclipse. No se ven todas, y muchas sólo se ven por encima. Básicamente es para perder el miedo al entorno y ver lo sencillo que resulta.
Taller
- Disponer de un JDK instalado. Si solo tenemos un JRE no podremos acceder a la documentación de la API de Java.
- Descomprimir Eclipse
- tar -xzfv eclipseblabla
- Abrir el navegador del sistema, abrir la carpeta donde lo hemos descomprimido, y clickar dos veces sobre ’eclipse’.
- set default workspace and don’t ask again.
- Pasar de los asistentes que muestra y clickar Workbench (se pueden recuperar desde la ventana de ayuda)
- Maximizar la ventana, porque sino la barra de debajo probablemente no se vea
- Jugar con las ventanas, perspectivas y vistas (se pueden desplazar, apilar, ocultar, window -> show view)
- Creamos el proyecto HolaMundo
- “New Java Project” HolaMundo
- Allow output folders
- Marcar “Create separate source and output folder”
- Desplegamos el árbol de la izquierda clickando sobre HolaMundo dentro de src, botón derecho, new Package ’jornadesPl’. Dentro del package creado hacer botón derecho New Class HolaMundo (observar el aviso que sale en la parte superior si escribimos un nombre incorrecto)
- Marcar checkbox “public static void main”
- Observar marcas TODO que aparecen en la lista de tareas.
- Si la ventana de tareas no está abierta, ShowView->Other->Basic->Task view
- Observar las marcas de Folding. Muestran y esconden partes de codigo.
- Atención a las búsquedas.
- Poner el codigo correspondiente para escribir una frase en la consola.
- Escribir System. Observar como nos desplega las posibilidades
- Si no nos lo desplega, podemos activar el content assistant (CTRL + espacio)
- Ver ’content assistant’ para parámetros (CTRL+SHIFT+espacio)
- Borrar algun carácter de la instrucción para probar QuickFix’s varios (nombres mal escritos...) (CTRL+1)
- Ver los errores de compilación en la vista de compilación Windows->ShowView->Problems
- Encontrar la pareja del corchete (doble click)
- Para ejecutar
- Clicamos el botón Play
- Seleccionamos ’Java Application’
- new
- Si la clase que estamos editando en ese momento contiene un método main nos las pondrá directamente. Si no la podemos buscar.
- A continuacion añadimos comportamiento para leer de la consola
- Escribimos (utilizando CTRL+Espai)
BufferedReader in;
in = new BufferedReader (new InputStreamReader (System.in));
- i así podremo hacer una prueba leyendo unos caracteres
in.readLine();
- con CTRL+1 (para activar Quick Fix) se puede definir la variable local y envolver con el try/catch correspondiente
- y escribimos en la consola el resultado
Opciones de usabilidad (van a gusto del consumidor)
Activar SMART Typing
Mark occurrences (rotulador amarillo)
Activar la navegación sincronizada del panel. Ver que cuando cambio la clase editada esta queda seleccionada en el árbol.
DEBUG
Ejemplo 1
- Hacemos doble click al lado de la primera línea de nuestro código.
- Clicamos en el escarabajo (bug)
- Nos avisa que toca cambiar la perspectiva, le decimos que sí y que lo haga siempre
- Empieza la ejecución
- Podemos ver los hilos, avanzar un paso, entrar a la función, avanzar hasta el cursor... y también Drop to frame (si la MV lo permite). Atención que los valores no se actualizan
- Breakpoints condicionales, con contador, para escritura o para cambio, por valor
Ejemplo 2
- Anulamos todos los breakpoints
- Hacemos doble clic al lado del system.out (para que aparezca un punto rojo, que es el breakpoint)
- Clicamos el escarabajo
- Le decimos que sí, que nos abra la perspectiva y que se acuerde.
- Escribimos alguna cosa en la consola (es lo que nos pide el programa)
- Cuando se ha parado, en la vista de variable seleccionamos con el botón derecho la del string y le decimos ’change value’, cambiamos el botón y hacemos ’resume’
- El resultado que nos muestra es el nuevo valor introducido con el programa parado y no el que se ha introducido realmente durante la ejecución
CVS

Petit programa en Java per provar algunes de les característiques de l’entorn (F3, call hierachy, type hierachy ...)
- Primero jugar conn la opción "Compare local history" y similares. Por ejemplo para recuperar el codigo que habiamos puesto antes de añadir el bucle.
- Y una vez descubiertas las ventanas de comparación probar con el sistema CVS
- Window-> open Prespective-CVS
- Boton derecho sobre el espacio de la izquierda
- New repository location
- URL ???ATENCIÓN FIREWALLS
- Location /usr/local/cvsroot IMPORTANTE, no hay / al final
- user botoN i password botoN
- Desde la prespectiva Java importar el proyecto
- ATENCION: Son dos pasos, "check out" del CVS i después crear un proyecto Java con el codigo que hemos sacado (y dejarlo relacionado con el del CVS). Por tanto parecerá que cuando acabamos el asistente volvemos a empezar
- Marcar "use an exisiting module" y seleccionar "botonera"
- Marcar Finish
- Entonces se abre el asistente de New Java Project, le ponemos el nombre que queramos (botonera) y continuamos
- Ya tenemos el codigo
- Hacer un cambio en el boton correspondiente
- Vemos que en el arbol de exploración nos ha añadido una marca, el símbolo > que indica que el fichero ha cambiado
- Entonces hacer boton derecho team/syncronize para enviar el cambio al CVS
- Desplegar el arbol de la izquierda, y doble click para ver los cambios que recibes y los que envias
- Observar que el comparador sabe que métodos se han modificado que aparte de un diff normal hace un análisis de la semántica del que compara
TRABAJO A HACER
- El botón tiene que tener nombre internacionalizado (castellano, catalán, y default)
- Hacer los cambios pertinentes y hacer el commit. Asegurarse de que no machacamos nada. Sobretodo al hacer el commit de ficheros de propiedades
- Herramientas: call hierachy, search references in workspace ....
- El botón tiene que hacer algo, cambiar de dirección, cambiar el color en función del sitio donde esté, hacer una filigrana (un ocho, una vuelta, una s...) cambiar la velocidad, poner algun botón en los paneles laterales que haga alguna funcion ’rara’
- SI COMPILA, HACER CHECKOUT, revisar si aun compila, y entonces hacer COMMIT.
- Al final tendriamos que tener unos 15 botones haciendo unas 15 cosas diferentes con la pelota
- Probar “refactorings”
- Cambios de nombres
- Subir / bajar métodos
- Cambios en las firmas
- Ayudas en el codigo, definimos un atributo y entonces “source-> generate get/set”
Si te gusta puedes probar cosas similares con el Robocode, Coderuler, CodeRally
COSAS A TENER EN CUENTA
Abrir, editar, compilar (no hace falta), ejecutar
Problemas
generate getter and setter
El . despliega el listado de métodos disponibles.
Si utilizamos los asistentes CTRL + espacio no nos tenemos que preocupar de los imports.
rename in file
En las preferencias seleccionar la opcion de marcar todas las instancias l’opció de marcar marca totes les instàncies
Lo que se pone en el Javadoc aparece en la ayuda que muestra el Eclipse sobre el método.
Quien me llama, a quien llamo, y navegar.
— navegar (f3) te lleva a la función / método
— Finestra Call - hieracy.
— Vista Type hieracy
— - De quien vengo, quien me hereda, quien implementa cierto método(Lock view)
Compare with each other
Suport a JUnit
debugar
hot code replace (sino cambia la firma de la clase) VM > 1.4
asignacion de valores "a saco”
Drop to frame para repetir el método
poner TODO en el codigo para recordar que se tiene que hacer.
Para cualquier duda podeis poneros en contacto con Ermengol Bota en ebota at criptos punt com