Novedades en 3.0

Aquí se indican algunos de los cambios más interesantes o significativos que, desde el release 2.1, se han realizado en las herramientas de desarrollo Java (JDT) del release 3.0 de Eclipse:

Editor Java

Repliegue del editor Java El editor Java soporta el repliegue de regiones de código. Al pasar el puntero del ratón por encima de de un elemento Java replegado se puede ver el código oculto:

Captura de pantalla mostrando importaciones, tipos internos y cuerpos de métodos replegados

Actualmente se pueden replegar sentencias de importación, comentarios, tipos y cuerpos de métodos. La habilitación del repliegue en los nuevos editores se puede configurar en la pestaña Repliegue de la página de preferencias Java > Editor:

Captura de pantalla mostrando las preferencias de repliegue
La UI de las JDT proporciona un punto de extensión para ampliar el conjunto de repliegues disponibles.

Resaltado avanzado El editor Java puede resaltar código fuente según su semántica (por ejemplo: campos estáticos, variables locales, invocaciones a métodos estáticos). Cuando se habilita el resaltado avanzado en la pestaña de preferencias Java > Editor > Sintaxis, en la lista figuran las nuevas opciones de resaltado avanzado.

Ejemplo de resaltado avanzado

También existen nuevas opciones para resaltar operadores y corchetes, y Cursiva es un estilo que ahora se soporta.

Vista Jerarquía rápida de tipos Seleccione una referencia de tipo, método o paquete en el editor Java y pulse Control+T para ver una vista rápida de la jerarquía del tipo. En los métodos, verá todos los subtipos y supertipos que proporcionan dichos métodos.

Repita Control+T para ir de la vista jerárquica normal de tipo u la vista jerárquica de supertipo.

Vista estructurada de jerarquía de tipo

Los esquemas rápidos muestran miembros heredados El esquema rápido (Fuente > Abrir esquema, Control+O) en el editor Java muestra los miembros heredados tras repetir la secuencia de teclas Control+O:

Esquema rápido

Similar para la Estructura rápida (Control+F3).

Modalidad de tecleo de inserción inteligente en el editor Java El editor Java incorpora una modalidad de inserción inteligente que se puede activar por medio de Editar > Modalidad de inserción inteligente (Control+Mayús+Insert).

En la modalidad de inserción inteligente, el editor proporciona funciones adicionales específicas de Java que se pueden configurar en la pestaña de preferencias Java > Editor > Tecleo. Las opciones de Punto y coma inteligente y Apertura de llave inteligente, por ejemplo, sitúa el cursor al final de la línea antes de insertar el punto y coma o el cierre de llave, respectivamente.

Actualizar importaciones al pegar La copia o el corte de código Java también captura información acerca de las declaraciones de importación necesarias para el código copiado. Las importaciones necesarias se añaden automáticamente cuando se pega el código. Esta característica se puede configurar con el valor de preferencia Java > Editor > Tecleo > Actualizar importaciones al pegar.
Mejor movimiento de cursor en los nombres Java Las acciones del editor Java que se realizan en una palabra cada vez respetan la típica notación "CamelCase" de los identificadores Java. Por ejemplo, la acción Siguiente palabra en el identificador "getFoo" efectúa una parada adicional entre "get" y "Foo". El comportamiento de este movimiento del cursor en los nombres Java se controla mediante una opción en la página de preferencias Java > Editor > Navegación.
Nuevo formateador de código

El formateador de código Java ofrece numerosas mejoras: la página de preferencias Java > Estilo de código > Formateador de código permite elegir un perfil existente, definir uno propio y compartirlo con los demás.

Página de preferencias de Formateador de código

El nuevo formateador es muy configurable, con más de 140 opciones, que cubren aspectos desde las posiciones de las llaves hasta la acomodación de palabras, pasando por el formato de los comentarios de Javadoc.

Diálogo de edición de perfil de Formateador de código

Formatear múltiples archivos El mandato Formatear también se puede aplicar a proyectos Java, carpetas de código fuente y paquetes. Cuando se invoca, todos los archivos fuente contenidos se formatearán de acuerdo con los valores actualmente configurados del formateador.
Comprobación ortográfica Se ha añadido el soporte de corrección ortográfica al editor Java. Tras habilitarlo y especificar un diccionario en la página de preferencias Java > Editor > Ortografía, los errores ortográficos se visualizan en el editor Java y pasan a estar disponibles sus correspondientes Arreglos rápidos.

Ejemplo de propuesta de corrección ortográfica

Opcionalmente también puede poner el diccionario a disposición de la asistencia de contenido. No obstante, Eclipse no incluye ningún diccionario actualmente. El formato que debe seguir es el de una simple lista de palabras, separadas por saltos de línea, y loa Arreglos rápidos le permiten añadir nuevas palabras al diccionario sobre la marcha. Se agradecerán todas las aportaciones que puedan hacerse al diccionario.

Página de preferencias de ortografía

Comentario de bloques Una selección de texto en el editor Java se puede convertir rápidamente en un comentario de bloque por medio de Fuente > Añadir comentario de bloque. De manera contraria, el mandato Fuente > Eliminar comentario de bloque elimina el comentario de bloque que encierra la posición del cursor.
Mandato Conmutar comentario Los anteriores mandatos Fuente > Comentar y Fuente > Descomentar del editor Java se han sustituido por el mandato Fuente > Conmutar comentario (Control+/) que descomenta las líneas de código fuente actualmente seleccionadas, si todas ellas corresponden a comentarios, o de lo contrario las convierte en comentario (puede enlazar accesos directos de teclado con los mandatos anteriores, que siguen estando disponibles, por medio de la página de preferencias Entorno de trabajo > Teclas).
Asistencia de contenido incremental Seleccione Insertar prefijos comunes automáticamente en la pestaña de preferencias Java > Editor > Asistencia de código para utilizar el estilo de conclusión incremental del shell en el editor Java. Si las conclusiones disponibles no tienen un prefijo común, se mostrará la propuesta en una ventana emergente.
Marcar dinámicamente las apariciones en un archivo Las apariciones en el editor Java del elemento seleccionado se pueden marcar con el nuevo botón de barra de herramientas Marcar apariciones (Imagen del botón Marcar apariciones de la barra de herramientas) o con el mandato (Alt+Mayús+O). En la página de preferencias Java > Editor > Marcar apariciones puede configurar los elementos que se marcarán.

Marcar apariciones

Las apariciones del elemento seleccionado se marcan por medio de Anotaciones de apariciones, cuya presentación se puede configurar utilizando la página de preferencias de anotaciones (Entorno de trabajo > Editores > Anotaciones).

Cuando el elemento seleccionado cambia, las apariciones marcadas se actualizan automáticamente. Por omisión, las apariciones marcadas son fijas, es decir, permanecen resaltadas aunque no haya un elemento Java válido en la posición actual del cursor.

Las apariciones marcadas se pueden eliminar rápidamente por medio del mandato Eliminar anotaciones de apariciones (Alt+Mayús+U).
Resaltar puntos de salida de método

Al situar el cursor en el tipo de retorno de un método se resaltan todos los puntos de salida de dicho método. El resaltado de los puntos de salida se puede habilitar por medio de la preferencia Java > Editor > Marcar apariciones.

Método con los puntos de salida resaltados

Marcar ubicaciones de excepciones lanzadas Cuando se selecciona una excepción, se pueden marcar los lugares en los que se lanza dicha excepción en el editor Java, activando la acción Buscar > Apariciones de excepción. Los lugares se marcan automáticamente si se activa el marcado de apariciones en la página de preferencias Java > Editor > Marcar apariciones.

Marcar lanzables

El editor Java muestra los métodos alterados temporalmente La nueva anotación Alterar temporalmente indicador (ver la página de preferencias Entorno de trabajo > Editores > Anotaciones) marca un método que implementa o altera temporalmente otro. Por omisión, aparecen iconos de alteración temporal e implantaciones en la regla vertical izquierda; pulse en el icono para navegar hasta el supermétodo:

Imagen con indicador de alteración temporal

Se muestran múltiples anotaciones en la ayuda flotante sensible al paso del cursor Cuando se visualizan múltiples anotaciones en la regla del editor de texto, se visualizan una al lado de la otra al pasar el puntero del ratón por encima de ellas. Se puede acceder por separado a los avisos y acciones como, por ejemplo, arreglos rápidos, establecimiento de puntos de interrupción y adición de favoritos. Esta funcionalidad está inhabilitada por omisión, pero se puede habilitar en la pestaña de preferencias Java > Editor > Ayudas flotantes.

Al pasar el puntero del ratón por encima de múltiples anotaciones en la regla vertical, una ayuda flotante sensible al paso del cursor las muestra una al lado de la otra.

Nueva bombilla de asistencia rápida Mientras escribe en un editor Java, aparece una bombilla de color verde de asistencia rápida en el margen izquierdo, cuando está disponible una asistencia rápida. Utilice Editar > Arreglo rápido (Control+1) o pulse la bombilla para ver las propuestas. Esta característica se puede habilitar marcando Bombilla para las asistencias rápidas en la pestaña de preferencias Java > Editor > Aspecto.

Bombilla de asistencia rápida

Modalidad enlazada para arreglos rápidos Varios resultados de Arreglo rápido aparecen en modalidad enlazada (plantilla). Utilice Tab y Mayús+Tab tras la invocación de un Arreglo rápido para desplazarse por un tipo de retorno generado, nombre de método, tipos de argumento y nombres de argumento. A continuación se indican algunos ejemplos de Arreglos rápidos que utilizan la modalidad enlazada:
  • Crear método nuevo
  • Crear campo, parámetro o variable local nuevos
  • Añadir argumento nuevo
  • Asignar sentencia a una variable local o campo nuevos
La modalidad enlazada ofrece sugerencias adicionales: nombres, tipos o argumentos diferentes.

Ejemplo de sugerencia de argumento:

Arreglo rápido y resultado de 'Añadir argumento' en modalidad enlazada

Ejemplo de sugerencia de excepción:

Arreglo rápido y resultado de 'Añadir declaración throws' en modalidad enlazada

Mejores sugerencias de identificador Al añadir campos, variables o parámetros, los arreglos rápidos intentan sugerir buenos nombres para los identificadores nuevos. Al utilizar la nueva característica de modalidad enlazada, se ofrecen más de una sugerencia.
Identificadores sugeridos por el arreglo rápido 'Asignar variable local'
Mejores arreglos rápidos para las discrepancias de parámetro Se han añadido varios arreglos rápidos Java para la discrepancia de parámetros, que incluyen la posibilidad de convertir temporalmente, intercambiar, añadir o eliminar argumentos o parámetros de método.

Arreglo rápido para la discrepancia de parámetros

Nuevas asistencias rápidas Se han añadido nuevas asistencias rápidas al editor Java. Pruebe Control+1 en
  • variables, para dividir y unir sus declaraciones de variable
  • una sentencia 'if', para convertir su cuerpo en un bloque o para añadir un nuevo bloque 'else'
  • un parámetro de método, para asignarlo a un campo nuevo
  • una declaración de método, para crear el método en un supertipo
Asistencia rápida 'Crear en supertipo'

Asistencia rápida de conversión de parámetro a campo

Creación de métodos get y set con la asistencia de código Además de crear métodos que alteran temporalmente, la asistencia de código también ofrece la creación de métodos get y ser, constructores por omisión y apéndices de método. Sitúe el cursor en el cuerpo del tipo entre los miembros y pulse Control+Espaciadora para obtener las propuestas que crean un apéndice de método.

Método get con asistencia de código

Creación más rápida de constructores El nuevo mandato Java Fuente > Generar constructor utilizando campos crea un constructor nuevo que inicializa determinados campos. Los campos a inicializar se seleccionan a partir de los parámetros adicionales del constructor, cuyo orden se controla por medio de los botones subir/bajar del diálogo.

constructor con campos

El mandato Fuente > Añadir constructores de superclase muestra un diálogo en el que se puede seleccionar los constructores de la superclase que deben insertarse en la clase actual. También se puede utilizar la característica de asistencia rápida para realizar la inserción sin solicitudes.

Depurador Java

Ventanas emergentes para inspeccionar o visualizar

Ahora se utilizan ventanas emergentes de evaluación para todos los resultados de Visualizar e Inspeccionar.

Ventana rápida emergente de Inspeccionar

Estructura lógica

El depurador Java permite visualizar ciertos tipos Java, incluyendo colecciones y correlaciones, en un formato más condensado y significativo. Estas estructuras lógicas se controlan mediante un botón de conmutación en la vista Variables.
Estructura lógica

Filtro de hebras del sistema

Las hebras del sistema se filtran y se excluyen en la vista Depurar por omisión. El mandato Mostrar hebras del sistema del menú desplegable de la vista conmuta la activación de este filtro.

Recorrer toda la selección en cualquier línea

El mandato Recorrer toda la selección del depurador Java ya no está restringido a la línea que se ejecuta actualmente.

Puntos de interrupción de preparación de clase

Los puntos de interrupción se pueden establecer en un evento de preparación de clase. El programa quedará en suspensión cuando la VM Java cargue por primera vez la clase o interfaz especificada.

Punto de interrupción de preparación de clase

Hiperenlaces de puntos de interrupción de excepción

Se pueden crear puntos de interrupción de excepción directamente a partir de un rastreo de pila de la consola. Al pulsar el hiperenlace que aparece debajo del nombre de la excepción al principio de un rastreo de pila, se abre un diálogo de propiedades en el punto de interrupción de excepción recién creado (o ya existente).

Enlace de punto de interrupción de excepción en la vista Consola

Puntos de interrupción en códigos fuente externos

Puede poner un punto de interrupción en código fuente externo (es decir, código fuente que no se encuentra en la vía de acceso de clases de construcción de un proyecto Java). Las acciones de creación de puntos de interrupción del menú Ejecutar crean automáticamente puntos de interrupción externos siempre que el depurador visualice código fuente externo.

Las refactorizaciones actualizan los puntos de interrupción y las configuraciones de lanzamiento

Los puntos de interrupción y las configuraciones de lanzamiento se actualizan como consecuencia de las refactorizaciones de código fuente Java como, por ejemplo, la redenominación de un proyecto Java, archivo fuente o declaración de tipo.

la redenominación incluye las configuraciones de lanzamiento Java

Opción de reinicio cuando la sustitución de código en caliente falla

Cuando se efectúan cambios en la VM Java del sistema principal que la sustitución de código en caliente no soporta, tiene la opción de reiniciar la VM además de elegir Continuar o Terminar.

Diálogo No se ha podido realizar la sustitución de código en caliente

Se pueden asociar argumentos VM por omisión a un JRE

La página de preferencias Java > JRE instalados permite asociar un conjunto de argumentos VM por omisión a cada JRE. Estos argumentos se pasarán a la VM siempre que ésta se utilice.

Diálogo de preferencias de argumentos VM por omisión del JRE

Refactorización

Menús rápidos para las acciones de fuente y refactorización

Se puede acceder a los mandatos de refactorización y fuente mediante un menú rápido. Seleccione el elemento que debe manipularse en el editor Java o en una vista Java y pulse Alt+Mayús+S para el menú rápido de fuente o Alt+Mayús+T para el menú rápido de refactorización.

Menú Refactorización rápida

Las refactorizaciones actualizan referencias en Javadoc Las refactorizaciones de Redenominar, Mover y Cambiar firma de método también actualizan sus referencias en Javadoc. Esto incluye las referencias de los códigos @see y @link, además de las cláusulas @param y @throws.

Como consecuencia, se ha simplificado el diálogo Redenominar:

Diálogo Redenominar tipo

La opción anterior Actualizar referencias en comentarios Javadoc se ha replegado en Actualizar referencias. Las opciones anteriores Actualizar referencias en comentarios regulares y Actualizar referencias en literales de serie se han fusionado en Actualizar coincidencias textuales en comentarios y series.

Refactorización de generalizar tipo Seleccione una declaración de variable, parámetro, campo o tipo de retorno de método en un editor Java y seleccione Refactorización > Generalizar tipo.

Generalizar tipo - Asistente

El asistente muestra la jerarquía de supertipos de la variable. Al seleccionar uno de los tipos disponibles se actualiza la declaración.

Generalizar tipo - Después
Refactorización de introducir fábrica Seleccione una declaración o llamada a constructor en el editor Java y seleccione Refactorización > Introducir fábrica.

Introducir fábrica - Antes

Introducir fábrica - Asistente

Se crea un método de fábrica estático que llama al constructor ahora privado, y todas las llamadas al constructor dado se sustituyen por las llamadas al método de fábrica nuevo.

Introducir fábrica - Después
Refactorización de introducir parámetro Seleccione una expresión en el editor Java y seleccione Refactorización > Introducir parámetro.

Introducir parámetro - Antes

El método continente recibe un parámetro nuevo y la expresión seleccionada se copia en la lista de argumentos de todos los lugares de llamada.

Introducir parámetro - Después

Mejor refactorización del cambio de firma de método En el editor Java, seleccione un método y elija Refactorización > Cambiar firma de método.

Asistente Cambiar firma

La refactorización efectúa las siguientes acciones:
  • también redenomina los parámetros de los métodos que alteran temporalmente,
  • actualiza referencias en Javadoc
  • ofrece Asistencia de contenido (Control+Espaciadora) en la columna de tipo de parámetro,
  • permite cambiar el nombre del método,
  • permite cambiar excepciones lanzadas.

Es más, se ha agilizado la edición en la tabla de parámetros, para que se puedan utilizar las teclas de navegación estándares (Tab, Mayús+Tab, cursores arriba y abajo). La edición se puede iniciar pulsando en una celda, o pulsando F2 o Intro.

Extraer método de los tipos interiores

Para el código Java contenido en un tipo de miembro anónimo, local o no estático, la refactorización Extraer método permite crear el método nuevo en un tipo externo.

Asistente Extraer método

Extraer método busca fragmentos de código duplicados

El método de extracción busca fragmentos de código duplicados y ayuda a extraerlos también en el método nuevo. Por ejemplo, al extraer la expresión foo(a) + bar(b) del siguiente fragmento:

Asistente Extraer método

el código resultante es:

Asistente Extraer método

Herramientas Java - General

Jerarquía de llamadas a método Puede abrir una vista que muestre una jerarquía de llamadas a método eligiendo Navegar > Abrir jerarquía de llamadas (Control+Alt+H) en el editor Java o en cualquiera de las vistas Java que muestran métodos.

Vista Jerarquía de llamadas

Vista de Javadoc Se incluye una nueva vista Javadoc (Ventana > Mostrar vista > Otras > Java > Javadoc) que muestra el Javadoc del elemento seleccionado en el editor Java o en una vista de Java. La vista de Javadoc utiliza el control Browser de SWT para mostrar HTML en las plataformas que lo soportan.

Vista Javadoc

Vista de Declaración Se incluye una nueva vista denominada de Declaración (Ventana > Mostrar vista > Otras > Java > Declaración) que muestra el código fuente del elemento seleccionado en el editor Java o en una vista de Java.

Vista Declaración

Filtros de tipo

El conjunto de tipos que se muestra en las propuestas de la asistencia de código y el arreglo rápido se puede filtrar por medio de la nueva página de preferencias Java > Filtros de tipo. Los tipos que coincidan con alguno de estos patrones de filtro no se mostrarán en el diálogo Abrir tipo y no estarán disponibles en las propuestas de la asistencia de código y el arreglo rápido. Estos filtros no afectan a los tipos que se muestran en las vistas Explorador de paquetes y Jerarquía de tipos.

Página de preferencias Filtros de tipo
Mejor soporte de filtrado Los menús de vistas específicas de Java que contienen una entrada "Filtros..." contienen entradas adyacentes marcables para los filtros recientemente cambiados.

Mejores filtros

Javadoc externo fuera de los archivos Si tiene documentación Javadoc almacenada en un archivador, ya no es necesario desempaquetar dicho archivador. El diálogo de propiedades de la ubicación de Javadoc soporta la documentación en archivadores. Seleccione un JAR y abra su página de propiedades (o también, Proyecto > Propiedades > Vía de construcción de clases > Bibliotecas > Ubicación de Javadoc) para adjuntar la documentación a un JAR.

Diálogo de configuración de la ubicación de Javadoc

Utilice Navegar > Abrir Javadoc externo (Mayús+F2) para abrir Javadoc en un navegador.

Agrupar opciones en la vista de búsqueda Puede conmutar la nueva vista Buscar entre una modalidad de diseño plano o jerárquico en el menú de la vista. Los resultados de la búsqueda Java en modalidad jerárquica se pueden agrupar por proyecto, paquete, archivo o tipo.

nueva vista de búsqueda

Filtros de coincidencia en la búsqueda Java Los resultados de las búsquedas Java se pueden filtrar. Puede excluir los comentarios Javadoc, sentencias de importación, accesos de lectura y accesos de escritura. Solamente se mostrarán los filtros aplicables a la búsqueda actual.

filtros de búsqueda

Búsqueda de tipos locales y anónimos En las operaciones de búsqueda se soportan totalmente los tipos locales y anónimos. Concretamente, se pueden buscar referencias a un tipo local seleccionado. Además, los resultados de la búsqueda se enraízan correctamente en los tipos locales o anónimos (en lugar de hacerlo siempre dentro del método delimitador más externo).
Tipos locales Los tipos locales y anónimos se muestran por omisión en las distintas vistas específicas de Java, junto con los filtros en las vistas para ocultarlos.

Locales en la jerarquía de tipos

Elementos obsoletos Los tipos, campos y métodos marcados como obsoletos se indican con una barra inclinada.

Elementos obsoletos en el esquema

Referencias en comentarios Javadoc La infraestructura Java incluye referencias en los comentarios Javadoc. Puede verlas en varios lugares como, por ejemplo, Buscar, Organizar importaciones, redenominaciones enlazadas en el editor y los marcadores de apariciones del editor.

Apariciones marcadas en códigos Javadoc

Asistencia de contenido en campos de diálogo La Asistencia de contenido (Control+Espaciadora) también está disponible en los campos de entrada de varios diálogos de Java. Se indican con un icono en forma de pequeña bombilla junto al campo, cuando éste recibe el foco.

Diálogo Clase nueva

Soporte de conjuntos de trabajo en la vista Jerarquía de tipos

La vista Jerarquía de tipos soporta el filtrado por un conjunto de trabajo. Una vez se selecciona un conjunto de trabajo en el menú de la vista, la vista jerárquica sólo muestra los tipos Java contenidos en el conjunto de trabajo dado, extendido por los tipos padre necesarios para completar el árbol (estos últimos se muestran con imágenes rellenadas con color blanco).

Vista Jerarquía de tipos con un conjunto de trabajo habilitado
Interfaces en la jerarquía de tipos de paquete La jerarquía de tipos abierta en paquetes (F4) también muestra las interfaces de dicho paquete. Lo mismo sucede en carpetas fuente, proyectos y JAR.

Jerarquía de tipos de paquete con interfaces

Mejor asistente NLS El asistente NLS (Fuente > Externalizar series) se ha actualizado y permite trabajar con archivos que ya se hayan externalizado:
  • redenominar claves y valores preexistentes
  • redenominar múltiples prefijos de clave simultáneamente
  • cambiar series ya externalizadas por 'ignored', por el estado original no codificado (internalizado) o viceversa
  • inserción más fácil de claves nuevas en los archivos de propiedades

Asistente NLS en series ya externalizadas

Bibliotecas definidas por el usuario Puede agrupar archivos JAR externos en una biblioteca con nombre. Cree bibliotecas definidas por el usuario en la página de preferencias Java > Vía de construcción > Biblioteca de usuario y añádalas a la vía de construcción en las propiedades del proyecto.

Página de preferencias de biblioteca de usuario

Al igual que sucede con las entradas de variable de vía de acceso de clases, la entrada de vía de acceso de clases de una biblioteca de usuario hace referencia a las bibliotecas de usuario por su nombre (no por los archivos JAR) en el sistema de archivos local).

Biblioteca en el explorador de paquetes

Compilador Java

El compilador Java de Eclipse está en conformidad con JCK1.4a El compilador Java de Eclipse en modalidad 1.4 está en conformidad con JCK1.4a; en modalidad 1.3 está en conformidad con JCK1.3a.
Patrón de inclusión para la carpeta fuente Cualquier carpeta fuente que se encuentre en la vía de construcción Java se puede asociar a ciertos patrones de inclusión, para incluir selectivamente archivos fuente Java. Es complementario de los patrones de exclusión ya disponibles para la exclusión selectiva de ciertos archivos fuente. Tenga en cuenta que ambos patrones se pueden combinar cumpliendo la siguiente regla: si especifica ambos, un patrón de exclusión tiene siempre prioridad frente a un patrón de inclusión. Por ejemplo, {include="src/", exclude="src/sub"} se traduce en el árbol 'src/' sin el subárbol 'src/sub/'. Los patrones de inclusión y exclusión se pueden especificar por medio de la propiedad de vía de construcción del proyecto.

Diálogo Excluir

Buscar acceso indirecto a miembros estáticos en código Java El compilador Java puede buscar y marcar accesos indirectos a miembros estáticos. La opción para activar esta comprobación se encuentra en la página de preferencias Java > Compilador > Estilo (por omisión, no se indican).

Nuevo diagnóstico de accesos indirectos a miembros estáticos

El acceso indirecto a miembros estáticos es una cuestión de compatibilidad del archivo de clase generado. En los archivos de clase compatibles con las versiones de JDK anteriores a la 1.2, el compilador resuelve las referencias indirectas estáticas con una clase declarativa (Y en el ejemplo); en los archivos de clase con las versiones de JDK posteriores a 1.2, el compilador resuelve las referencias estáticas con el tipo del receptor (X en el ejemplo).

Buscar asignaciones booleanas accidentales El compilador Java puede buscar asignaciones booleanas accidentales. La opción para activar esta comprobación se encuentra en la página de preferencias Java > Compilador > Estilo (por omisión no se indican).

Nuevas preferencias de estilo de compilador

Opción del compilador Java para marcar accesos no calificados a campos de instancia El compilador Java puede buscar y marcar referencias no calificadas a un campo de instancia. Esta comprobación se puede habilitar en la página de preferencias Java > Compilador > Estilo (desactivada por omisión).

Esta opción soporta un estilo de codificación en el que todas las referencias a campos de instancia se califican, con el fin de distinguirlas visiblemente de las referencias a variables locales.

Opción del compilador Java para indicar bloques finally que no se pueden completar normalmente El compilador Java puede buscar y marcar bloques finally que no se pueden completar normalmente (como se define en la especificación del lenguaje Java). Los bloques finally que no se pueden completar normalmente pueden llevar a confusión y se consideran una mala práctica. Esta comprobación se puede habilitar en la página de preferencias Java > Compilador > Estilo (se avisa por omisión).

Nuevo diagnóstico para bloques finally que no se completan normalmente

Sentencia vacía de flujo de control El compilador Java puede marcar una sentencia vacía que se utilice como el cuerpo de una sentencia de flujo de control. Encontrará la preferencia en Java > Compilador > Estilo > Sentencia vacía.
Opción del compilador Java para marcar bloques vacíos no documentados El compilador Java puede buscar y marcar bloques vacíos que no estén documentados con un comentario. Los cuerpos de método y tipo totalmente vacíos también son sospechosos. Esta comprobación se puede habilitar en la página de preferencias Java > Compilador > Estilo (desactivada por omisión).
Buscar variables que ocultan otras variables o campos El compilador Java puede buscar declaraciones de variables locales y campos que oculten otras variables o campos. La opción para activar esta comprobación se encuentra en la página de preferencias Java > Compilador >Avanzado (por omisión no se indican):

Nuevas preferencias de estilo del compilador

Buscar comprobaciones de tipo innecesarias en el código Java El compilador Java puede buscar y marcar conversiones temporales de tipo u operaciones 'instanceof' innecesarias. La opción para activas esta comprobación se encuentra en la página de preferencias Java > Compilador > Código no utilizado (por omisión no se indican).

Nuevo diagnóstico para las comprobaciones de tipo innecesarias

Opción del compilador Java para marcar excepciones comprobadas innecesarias El compilador Java puede buscar y marcar excepciones comprobadas innecesarias que se declaran pero no se lanzan. Esta comprobación se puede habilitar en la página de preferencias Java > Compilador > Código no utilizado (desactivada por omisión).

Tenga en cuenta que un método dado siempre puede declarar el lanzamiento de menos excepciones comprobadas que las que se declaran en la superclase (o interfaz).

Nuevo diagnóstico para excepciones lanzadas declaradas que no se utilizan

Arreglos rápidos para las nuevas opciones de compilador Las opciones nuevas del compilador Java vienen con sus correspondientes arreglos rápidos:

Declaración innecesaria de excepción lanzada:
Arreglo rápido 'Eliminar excepción lanzada'
 Acceso no calificado a campo de instancia:
Arreglo rápido 'Campo calificado'
Conversión temporal de tipo innecesaria:
Arreglo rápido 'Conversión de tipo innecesaria'

Pulse Control+1 en un aviso o error, o pulse en la bombilla para obtener los arreglos rápidos sugeridos.
Manejo de los comentarios Javadoc El compilador Java de Eclipse procesa comentarios Javadoc. Los informes de búsqueda hacen referencia a los comentarios de documentación, y la refactorización también actualiza estas referencias. Esta característica se controla en la pestaña de preferencias Java > Compilador > Javadoc (o se establece para un determinado proyecto en Proyecto > Propiedades > Compilador Java > Javadoc).

Página de preferencias Javadoc

Cuando se activa, los comentarios Javadoc incorrectos se marcan en el editor Java:
Problemas detectados en Javadoc
Arreglos rápidos de problemas en los comentarios Javadoc Tras habilitar los nuevos marcadores de problemas en comentarios Javadoc (punto anterior), puede utilizar el Arreglo rápido del editor Java para corregir códigos Javadoc que falten. Simplemente pulse la bombilla o utilice Editar > Arreglo rápido (Control+1).

Insertar arreglos rápido Javadoc

Incorporación de bytecode JSR El compilador Java puede, opcionalmente, evitar la generación de archivos de clase utilizando la instrucción de bytecode JSR (habitualmente utilizada en la compilación de bloques try-finally), en lugar de incorporar las instrucciones de la correspondiente subrutina. Los archivos de clase generados tienen un tamaño superior pero generalmente se cargan más rápidamente. Esta modalidad anticipa el soporte de JSR 202. Encontrará la preferencia en Java > Compilador > Conformidad y archivos de clase.

Integración de JUnit

Ejecución de pruebas JUnit individuales que requieren una configuración especial JUnit soporta la decoración de una prueba individual para una ejecución de prueba. Esto se realiza implementando un método público estático setUpTest(Test) en la clase TestCase, como se indica a continuación:
Ejecución de pruebas JUnit individuales

El método setUpTest se utiliza automáticamente cuando se va a ejecutar individualmente una prueba (incluyendo la reejecución de una prueba que ha fallado). Se ejecuta el resultado devuelto por setUpTest, en lugar del de la prueba dada, y habitualmente se envuelve la prueba dada con una configuración especial.

Mejor comparaciones de series en la vista JUnit Cuando una prueba JUnit falla debido a que una serie no es como se esperaba, al pulsar en el botón de lupa de la barra de herramientas podrá ver las diferencias existentes entre las series en un visor de comparación:

Visor JUnit con una prueba que ha fallado

Visor de comparación de series

Avisos legales