Novedades de la versión 3.1

Este documento contiene las descripciones de algunos de los cambios más interesantes o significativos que se han hecho en las herramientas de desarrollo Java (JDT) para el release 3.1 de Eclipse desde la versión 3.0. Consta de varios apartados:

J2SE 5.0


J2SE 5.0

Eclipse 3.1 incluye pleno soporte para las nuevas características de J2SE 5.0 (que también se conoce como "Tiger"). Una de las consecuencias más importantes de este soporte es que uno ni siquiera se da cuenta de que existe, pues todo lo que cabe esperar que funcione con J2SE 1.4 (la edición, la asistencia de código, la compilación, la depuración, los arreglos rápidos, las refactorizaciones, las acciones del fuente, la búsqueda, etcétera), funcionará sin fisuras con los nuevos tipos y la nueva sintaxis de J2SE 5.0.

Para poder desarrollar código que esté en conformidad con J2SE 5.0, necesitará un entorno Java de tiempo de ejecución (JRE) 5.0. Si inicia Eclipse por primera vez con un JRE 5.0, Eclipse lo utilizará por omisión. De lo contrario, deberá echar mando del diálogo de entornos JRE instalados para registrar uno en Eclipse. Puede acceder a este diálogo por medio de la preferencia Java > JRE instalados o siguiendo el enlace Configurar predeterminado..., en el asistente Proyecto Java nuevo.

Asistente Proyecto Java nuevo


Arreglo rápido para
actualizar el JRE y el compilador en conformidad con 5.0

Hay un nuevo arreglo rápido que le ayudará a cambiar los valores de la conformidad cuando intente entrar construcciones de 5.0 en un proyecto 1.4. Tenga en cuenta que se necesita un JRE 1.5, que se puede añadir en la página de preferencias de 'JRE instalados'.

Arreglo rápido para cambiar conformidad


Los asistentes de tipos nuevos soportan tipos genéricos

Los asistentes Tipo Nuevo soportan tipos genéricos J2SE 5.0 en diversos campos:
  • El campo Nombre puede incluir declaraciones de parámetros de tipo.
  • El campo Superclase y las Interfaces implementadas pueden incluir argumentos de tipos genéricos.

Imagen del asistente Tipo Nuevo


Crear enumeraciones y anotaciones

Las enumeraciones y anotaciones se pueden crear con el nuevo asistente Enumeración o Anotación:

Asistente Enumeración


Adivinar argumentos de tipo

La asistencia de código inserta argumentos de tipo correcto al concluir un tipo en el editor Java. Los argumentos de tipo cuya ambigüedad no se puede deshacer quedarán seleccionados, y la tecla tecleara pasará de un argumento al siguiente.

En este ejemplo, el tipo String se inserta como primer argumento, mientras que se propone el tipo Number para el segundo:

Captura de pantalla: se devuelve un 'HashMap' desde un método que declara 'Map<String, ? extends Number>' como tipo de retorno. El tipo String se inserta como primer argumento, mientras que se propone el tipo 'Number' para el segundo

Para probar esta característica, tendrá que habilitar la opción Rellenar nombres de argumentos en la página de preferencias Java > Editor > Asistencia de código.


Diagnosis de declaración de parámetro de tipo que oculta otro tipo

El compilador Java puede señalar opcionalmente una declaración de parámetro de tipo que oculte otro tipo.

Imagen de editor Java con aviso de parámetro de tipo que oculta otro tipo


Refactorización para redenominar

La refactorización para redenominar se ha ampliado para poder manejar el cambio de nombre de los parámetros de tipo.

Captura de pantalla que muestra la redenominación de un parámetro de tipo en una clase genérica


Refactorización para inferir
argumentos de tipos genéricos

Con J2SE 5.0, el código puede usar tipos genéricos para mejorar la legibilidad y la seguridad de los tipos estáticos. Refactorizar > Inferir argumentos de tipos genéricos es una nueva refactorización que ayuda a los clientes de bibliotecas de clases genéricas (como la infraestructura de colecciones Java) a migrar el código.

Aumentar clientes de contenedor en bruto - Antes

La refactorización infiere los parámetros de tipos genéricos y eliminará las conversiones de tipo que sean innecesarias. Funciona en las unidades de compilación individuales y también en los paquetes y proyectos Java completos.

Aumentar clientes de contenedor en bruto - Después


Arreglos rápidos para genéricos

En el caso de tipos Java no resueltos, ahora también puede obtener una propuesta para crear un nuevo parámetro de tipo:

Arreglo rápido para añadir parámetro de tipo

Se ha añadido soporte de códigos Javadoc para parámetros de tipo. En J2SE 5.0, los parámetros de tipo se documentan mediante el código @param existente, pero con el nombre encerrado entre corchetes angulares.

Arreglo rápido Javadoc para parámetro de tipo


Nuevos filtros de resultados de búsqueda al buscar referencias a tipos parametrizados

Cuando se buscan referencias a un tipo parametrizado, como List<Integer>, el resultado de la búsqueda contendrá asimismo las referencias a todas las apariciones de List. Ahora, la vista de resultados de la búsqueda ofrece dos filtros adicionales para ocultar las coincidencias:

  • Filtrar coincidencias incompatibles: este filtro oculta todos los resultados que no son compatibles desde el punto de vista de la asignación con el patrón de búsqueda. Por ejemplo, cuando se busca List<Integer>, el filtrado de coincidencias incompatibles ocultará List<String>, pero no List<? extends Number>.
  • Filtrar coincidencias inexactas: este filtro oculta todos los resultados que no coincidan exactamente con el patrón. En el caso del ejemplo anterior, el filtro también ocultará List<? extends Number>.

Arreglo rápido para añadir parámetro de tipo


Conclusión en las anotaciones

La conclusión de código está permitida dentro de un valor individual de una anotación de miembro o de un atributo de anotación.

Imagen del editor Java al concluir un atributo de anotación


Utilización de tipo de anotación como diagnosis de superinterfaz

En J2SE 5.0, el lenguaje Java permite que una clase implemente un tipo de anotación. Sin embargo, esto es algo que no conviene hacer. El compilador Java señala opcionalmente este tipo de utilización.

Imagen del editor Java con una utilización de tipo de anotación como aviso de superinterfaz


Soporte para la anotación @SuppressWarnings

La anotación @SuppressWarnings de J2SE 5.0 está soportada. Los nombres de símbolos de aviso que se reconocen son: "all", "boxing", "dep-ann", "deprecation", "incomplete-switch", "hiding", "finally", "static-access", "nls", "serial", "synthetic-access", "unqualified-field-access", "unchecked", "unused" y "warningToken". En el ejemplo que sigue, el primer campo está marcado con la anotación @SuppressWarnings("deprecation") y no se notifican los avisos de obsolescencia. El segundo campo no está marcado y se notifica un aviso de obsolescencia.

Imagen del editor Java que muestra la utilización de @SuppressWarnings

Tenga en cuenta que hay una opción del compilador que controla si las anotaciones @SuppressWarnings están activas o no. Vea la página de preferencias Java > Compilador > Errores/Avisos > Opciones de J2SE 5.0 > Habilitar anotaciones '@SuppressWarnings'.

Por omisión, los símbolos de aviso no manejados se señalan mediante un aviso. Este aviso también se puede suprimir con la anotación @SuppressWarnings("warningToken").

Imagen del editor Java que muestra la utilización de warningToken


Soporte de
arreglo rápido para
@SuppressWarnings

Los avisos que se pueden suprimir con una anotación @SuppressWarning ofrecen un arreglo rápido para ello. Si se aplica un arreglo rápido al siguiente aviso de local no utilizado

Arreglo rápido para suprimir aviso

se obtiene el resultado:

Problema de aviso de no utilizado suprimido


Diagnosis de anotación @Override ausente

El compilador Java puede señalar opcionalmente un método que altera temporalmente un método de superclase, pero en el que falta la debida anotación @Override. Las anotaciones @Override ausentes se pueden añadir con un arreglo rápido.

Imagen del editor Java con un aviso de que falta @Override de método

Vea la preferencia de la página Java > Compilador > Errores/Avisos > Opciones de J2SE 5.0 > Anotación @Override ausente

Diagnosis de anotación @Deprecated ausente

El compilador Java reconoce las anotaciones @Deprecated y las trata como si fuesen equivalentes al comentario doc /** @deprecated */. El compilador puede señalar opcionalmente las construcciones obsoletas que carezcan de la debida anotación @Deprecated (para indicar que es mejor utilizar anotaciones que códigos de comentarios doc).

Imagen del editor Java con un aviso de que falta la anotación @Deprecated

Vea la preferencia en la página Java > Compilador > Errores/Avisos > Opciones de J2SE 5.0 > Anotación '@Deprecated' ausente.

Diagnosis de sentencia switch de enumeración incompleta

El compilador Java puede señalar opcionalmente las sentencias switch de enumeración incompletas.

Imagen del editor Java con un aviso de sentencia switch de enumeración incompleta

Vea la preferencia de la página Java > Compilador > Errores/Avisos > Opciones de J2SE 5.0 > No todas las constantes de enumeración están cubiertas en 'switch'.

Diagnosis del compilador para identificador de 'enum'

El compilador Java puede encontrar y señalar dónde se usa 'enum' como identificador. Resulta que 'enum' es un identificador permitido hasta el fuente de nivel 1.4, pero es una palabra clave reservada en el fuente 5.0. La habilitación de este aviso sirve de ayuda para anticiparse a los problemas que plantea la migración del fuente. Vea la preferencia de la página Java > Compilador > Conformidad con JDK > No permitir el identificador llamado 'enum'.

Diagnosis opcional del compilador para el identificador 'enum'


Arreglo rápido para
crear constantes de enumeración

Hay un arreglo rápido que permite crear constantes de enumeración. En el ejemplo que sigue, la constante BLUE no está presente en los colores enumerados

Diagnosis opcional del compilador para el identificador 'enum'


Propuestas para el parámetro
de autoencaje

Los parámetros propuestos incluyen las propuestas de auto(des)encaje:

Captura de pantalla que muestra propuestas de autoencaje

Nota: la preferencia Java > Editor > Asistencia de código > Rellenar nombres de argumento al concluir debe estar habilitada.


Diagnosis de
encaje/desencaje

El autoencaje de J2SE 5.0 es una potente prestación, pero puede producir un comportamiento inesperado, sobre todo al pasar argumentos. El compilador introduce una diagnosis opcional que indica cuándo se lleva a cabo el encaje o desencaje automáticos. En el siguiente ejemplo, cabe pensar que se llamaría a foo(Integer), pero como se lleva a cabo el desencaje automático, se llama a foo(int).

Imagen del editor Java con un aviso de desencaje

Vea la preferencia de la página Java > Compilador > Errores/Avisos > Opciones de J2SE 5.0 > Conversiones de encaje y desencaje.

Soporte para J2SE 5.0 en el editor Java

El editor Java proporciona el coloreado de sintaxis para las nuevas características de lenguaje de J2SE 5.0. Vaya a la página de preferencias Java > Editor > Coloreado de sintaxis para cambiar los colores o para habilitar el coloreado semántico de variables de tipo, elementos de anotación y expresiones (des)encajadas automáticamente:

Captura de pantalla que muestra el coloreado de sintaxis de enumeraciones, anotaciones, elementos de anotación, variables de tipo y expresiones autoencajadas


Nueva plantilla de bucle for

La plantilla foreach inserta un nuevo bucle 'for' en el código, proponiendo instancias de Iterable por las que puede ser interesante iterar:

Captura de pantalla que muestra una plantilla de bucle for insertada


Convertir a bucle for mejorado

Una nueva asistencia rápida (Control+1) permite convertir los bucles for de estilo antiguo sobre matrices y colecciones a bucles for mejorados de J2SE 5.0:

Imagen de un ejemplo de convertir a bucle for mejorado

El arreglo rápido simplifica el bucle de esta manera:

Imagen que muestra el resultado de la asistencia rápida del bucle for mejorado


Argumento varargs
que necesita una conversión de tipo

El compilador Java puede señalar opcionalmente las invocaciones de método varargs sospechosas. Un último argumento nulo no se acomoda en forma de matriz de 1 elemento como cabría esperar; si se añade una conversión de tipo explícita, la intención del código se vuelve clara.

Diagnosis de compilador que exige conversión de tipo para argumento varargs

El valor de la preferencia se encuentra en Java > Compilador > Errores/Avisos > Opciones de J2SE 5.0 > Coincidencia de tipo inexacta para argumentos vararg.


La conclusión utiliza importaciones estáticas

La conclusión de código en el editor Java tiene capacidad para procesar importaciones estáticas al inferir conclusiones según contexto.

Imagen del editor Java que concluye y localiza un método a partir de la importación estática Math.*


Grupos de
importaciones estáticas

Para organizar las importaciones estáticas, cree grupos de ellas y colóquelas en el lugar que prefiera. Puede definir un grupo 'others' para reunir todas las importaciones que no coincidan con ningún otro grupo:

Grupo de importaciones estáticas

La característica de grupo 'others' también está disponible para las importaciones no estáticas.


Soporte para
package-info.java

Se ha añadido soporte para el archivo fuente especial package-info.java, que permite anotar y documentar los paquetes. Todas las herramientas de JDT (asistencia de código, selección de código, búsqueda, esquema, jerarquías de tipos, etcétera) se pueden usar en esta unidad de compilación especial.

Los comentarios doc que hay dentro de package-info.java se procesan, y la sintaxis y las referencias de los códigos de comentario estándar se verifican.

Imagen del Explorador de paquetes y del editor Java en package-info.java


Formateador de código para las construcciones de J2SE 5.0

El formateador de código soporta todas las construcciones de lenguaje nuevas de J2SE 5.0. El control sobre cómo las maneja el formateador se encuentra en la página de preferencias Java > Estilo de código > Formateador de código:

Imagen de la página de preferencias del formateador de espacio en blanco


Depurar código fuente de 5.0

Puede ejecutar y depurar el código fuente de 5.0 con un JRE 1.5. Las evaluaciones de depuración Java soportan construcciones de J2SE 5.0 como los genéricos y los bucles for mejorados.

Cambio de denominación de archivos de clase para tipos interiores locales

En la modalidad de conformidad con 5.0, el compilador Java genera archivos de clase que se ajustan al convenio de denominación especificado en JLS 13.1 (3ª edición) para los tipos interiores locales. Como consecuencia, en el ejemplo que sigue, en lugar de generar un archivo que se llame X$1$A.class, se generará uno que se llame sencillamente X$1A.class.

Imagen del Navegador con un archivo de clase de tipos interiores locales


Depurador Java


Puntos de observación y
puntos de interrupción
de entrada de método

Si se pulsa dos veces en la regla del editor Java, se crean puntos de observación en los campos, y puntos de interrupción de entrada de método en las declaraciones de método.

Bloqueos y puntos muertos

Los bloqueos que son propiedad de una hebra, así como el bloqueo que una hebra está esperando, se pueden visualizar como incorporados en la vista Depurar, conmutando el elemento de menú Mostrar supervisores en el menú desplegable de la vista Depurar. Las hebras y los bloqueos implicados en un punto muerto quedan resaltados en rojo.

Punto muerto visualizado en la vista Depurar


Navegar por los rastreos de pila

Copie y pegue un rastreo de pila en la consola de rastreo de pila Java y utilice los hiperenlaces para navegar por el rastreo. La consola de rastreo de pila se puede abrir desde el menú desplegable Abrir consola, en la vista Consola. Los rastreos de pila pegados se pueden formatear por medio del enlace de tecla Formatear estándar.

Consola de rastreo de pila Java


'toString()' incorporado

El valor de una variable calculado por toString() se puede visualizar en forma de incorporado en el árbol de la vista Variables y también en el área de detalles. Se utiliza el mandato Formateadores de detalles Java... del menú desplegable de la vista para configurar cómo funciona esta característica.

Ejemplo de toString() incorporado


Estructuras lógicas definidas por el usuario

Ahora, el depurador Java le permite controlar lo que se muestra en la vista de variables de los diferentes tipos de objetos. Por ejemplo, las colecciones se pueden visualizar como matriz simple de valores, en lugar de incluir los interminables detalles de cómo se implementa ese objeto de colección en concreto.

Esto se hace desde la página de preferencias Java > Depurar > Estructuras lógicas, donde se asocia una sola expresión (por ejemplo, this.toArray()) o una serie de expresiones con nombre a una clase o interfaz específica. Cuando el objeto se debe mostrar en la vista de variables, las expresiones se evalúan para producir los valores que hay que visualizar.

Diálogo para editar una estructura lógica Java


Modificación mejorada del valor de una variable

Ahora, el depurador Java le permite cambiar el valor de las variables tecleando una expresión en el diálogo Cambiar valor o en el área de detalles de la vista de variables y pulsando Guardar.

Diálogo para editar una expresión que sustituya el valor actual de una variable


Buscar variable

La acción Buscar variable, en la vista Variables, le permite teclear el nombre de una variable que esté buscando. A medida que teclea, la vista Variables selecciona la próxima variable visible que coincide con el texto tecleado. Asimismo, el diálogo Buscar variable muestra las variables que coinciden con el texto tecleado hasta entonces.


Conexiones de Javadoc

Ahora puede asociar una ubicación de Javadoc distinta a cada archivo JAR de las bibliotecas de un JRE.

Diálogo que muestra una ubicación de Javadoc por cada biblioteca de JRE


Compilador Java


Nuevos valores del
compilador Javadoc

La comprobación de Javadoc, cuando está habilitada, se puede configurar para que
  • avise cuando hay códigos @see y @link que hagan referencia a elementos en desuso
  • avise cuando hay códigos @see y @link que hagan referencia a elementos no visibles

Los valores están en la página de preferencias Java > Compilador > Javadoc.


Diagnosis de asignación sin efecto para expresión de posfijo

La diagnosis opcional de asignación sin efecto detecta el caso en que una expresión de posfijo se asigna a la misma variable; por ejemplo, i = i++;

Imagen de una asignación de expresión de posfijo


UID de versión serie

Hay una nueva diagnosis de compilador opcional para las clases serializables a las que les falta una declaración de un campo serialVersionUID.

El valor de la preferencia se encuentra en Java > Compilador > Errores/Avisos > Problemas de programación potenciales.


Detección temprana de referencias a clases internas

Puede anotar entradas de biblioteca (y de proyecto) en la vía de construcción Java (Propiedades > Vía de construcción Java > Bibliotecas) para identificar los paquetes internos a los que desee evitar que se haga referencia directamente desde el código. Por ejemplo, suele ser una mala idea depender de los paquetes específicos del proveedor, como com.ibm.* o com.sun.*, que se encuentran habitualmente en las bibliotecas J2SE. Las restricciones de acceso se expresan con una combinación de reglas de inclusión y exclusión en las entradas de la vía de construcción. La sintaxis del patrón sigue la notación de los conjuntos de archivos de Ant y se corresponde con la vía de acceso al archivo de clase. Por ejemplo, si se utiliza el patrón com/ibm/** como regla de exclusión, se restringiría el acceso a todas las clases del paquete com.ibm y de sus subpaquetes; si se utiliza el patrón org/eclipse/**/internal/** como regla de exclusión, se capturarían todas las clases en los paquetes internos de Eclipse. Cuando se proporcionan reglas de inclusión, se acepta todo lo que coincida con estas reglas, y todo lo demás se considera que está fuera de los límites.

El valor de la preferencia Java > Compilador > Errores/Avisos > API obsoleta y restringida le permite controlar si las referencias errantes se marcan como errores o avisos (por omisión, son errores para las referencias prohibidas y son avisos para las referencias inconvenientes).

Imagen del diálogo de propiedades de la vía de construcción Java


Reglas de acceso en las bibliotecas y proyectos

Se pueden definir reglas de acceso en las bibliotecas y proyectos a los que se hace referencia para permitir/rechazar/disuadir el acceso a tipos específicos.

Imagen del asistente de vía de construcción con reglas de acceso


Editor Java


Iconos y títulos de repliegue mejorados

Cuando se pliega un elemento Java, la línea que queda en el editor Java es la que contiene el nombre del elemento. Se visualiza la primera línea de los comentarios Javadoc plegados. Ahora, los nuevos iconos de repliegue ligero que se muestran en el editor Java difieren de los indicadores de alteraciones temporales e implementaciones:

Imagen del nuevo material gráfico de repliegue


Repliegue de comentarios de cabecera

Los comentarios de cabecera y las declaraciones de copyright que hay en los archivos fuente Java se pueden plegar:

Captura de pantalla que muestra un comentario de cabecera plegado


Marcar apariciones de métodos heredados

El editor Java puede resaltar todas las declaraciones de método que implementan o alteran temporalmente métodos heredados del supertipo seleccionado. Vea el valor de la preferencia Java > Editor > Marcar apariciones > Método que implementa una interfaz.

Imagen de marcar apariciones de implementación


Nuevo menú rápido de apariciones

Se puede abrir un menú contextual con búsquedas de apariciones en el editor Java, pulsando las teclas Control+Mayús+U.

Nota: las personas que prefieran el antiguo comportamiento pueden reasignar la secuencia de teclas anterior al mandato "Buscar todas las apariciones en archivo".


Resaltado de miembros de clase obsoletos en el editor Java

Los miembros de clase obsoletos se marcan mediante el resaltado avanzado:

Resaltado de miembros obsoletos

Esta opción se puede configurar en la página de preferencias Java > Editor > Coloreado de sintaxis.

Las referencias en Javadoc

Ahora, Eclipse reconoce las referencias a elementos Java dentro de los comentarios doc (es decir, en los códigos @see, @link, @linkplain, @throws, @exception, @param o @value). Esto habilita la ayuda flotante y el enlace con el elemento Java al que se hace referencia.

Imagen del editor Java con ayuda flotante en Javadoc


Conclusión mejorada en una palabra vacía

La conclusión de código Java en una palabra vacía ya no propone automáticamente todos los tipos que están visibles en la ubicación de la conclusión. Hay que teclear el primer carácter del tipo para obtener una propuesta de conclusión.

Imagen del editor Java que muestra una conclusión en una palabra vacía


Descripción de ayuda emergente en el Javadoc

El Javadoc que se muestra por medio de Editar > Mostrar descripción de ayuda emergente (F2) aparece en el widget SWT Browser.


El mandato Mover Líneas ajusta el sangrado

Los mandatos Mover líneas (Alt+Arriba/Abajo) y Copiar líneas (Control+Alt+Arriba/Abajo) ajustan automáticamente el sangrado de las líneas seleccionadas al moverlas dentro del editor Java.

Editor de archivo de propiedades Java perfeccionado

Los editores de los archivos de propiedades Java se han perfeccionado en gran medida. Ofrecen el resaltado de la sintaxis, un comportamiento de doble pulsación mejorado y una preferencia aparte para los fonts. Los colores del resaltado de la sintaxis se ajustan en la página de preferencias Java > Editor de archivos de propiedades. La ortografía también está disponible, y se puede usar un arreglo rápido (Control+1) para arreglar los problemas ortográficos.

Imagen del editor de archivos de propiedades Java


Trabajar con series externalizadas

Cuando se pasa despacio por encima de una clave de una serie externalizada en el editor Java, aparece una ayuda flotante con el valor externalizado asociado:

Imagen de la ayuda flotante de Externalizar Serie

Haga Control+Pulsación en ella para navegar directamente hasta la entrada en el correspondiente archivo de propiedades Java:

Imagen de Control+Pulsación en el editor Java


Navegar desde una clave de propiedad en el editor de archivos de propiedades hasta sus referencias

Utilice Navegar > Abrir (F3) o Control+Pulsación para navegar desde una clave de propiedad, en el editor de archivos de propiedades, de nuevo hasta los lugares del código en los que se hace referencia a la clave.

Imagen que muestra un hiperenlace de clave de propiedad


El asistente Externalizar Series soporta nuevos paquetes compuestos de mensajes

El asistente Externalizar Series permite utilizar el mecanismo de externalización de series de Eclipse, que es una novedad de este release:

Imagen del asistente Externalizar Series


Nueva API para crear propuestas de código igual que en el editor Java

¿Se propone implementar un editor para un lenguaje de estilo Java? Cree propuestas de asistencia de código propias parecidas a las que se proponen en el editor Java. Cree una instancia de la clase CompletionProposalCollector para obtener las mismas propuestas que las del editor Java o cree una subclase de ella para combinarla en sus propias propuestas. Utilice CompletionProposalLabelProvider para obtener las imágenes y etiquetas correctas, y ordene las propuestas con CompletionProposalComparator.

Paquete: org.eclipse.jdt.ui.text.java, del conector org.eclipse.jdt.ui.


Herramientas Java en general


Nuevo diálogo Abrir tipo

El diálogo Abrir tipo Java se ha perfeccionado de varias maneras:
  • Ahora solo hay una lista en la que seleccionar.
  • En el diálogo se muestra en primer lugar un historial de los últimos tipos abiertos; los tipos del espacio de trabajo que coinciden con el patrón aparecen más abajo de la línea separadora.
  • La coincidencia de patrones CamelCase le lleva a un tipo que tiene menos pulsaciones. Por ejemplo, TZ coincide con TimeZone o IOOBE coincide con IndexOutOfBoundsException.
  • El contenido del diálogo se puede restringir adicionalmente a un conjunto de trabajo. El conjunto de trabajo se puede seleccionar en el menú desplegable del diálogo.

Diálogo Abrir tipo

También hay cambios arquitectónicos internos importantes. Ahora, los tipos que se muestran en el diálogo se encuentran con una consulta del motor de búsqueda Java. Esto supone un ahorro de 4 a 6 MB en un espacio de trabajo de desarrollo Eclipse normal en comparación con el enfoque consumidor de memoria que se utilizaba anteriormente.


Organizar un espacio de trabajo con muchos proyectos

Utilice Mostrar > Conjuntos de trabajo en el menú de la vista Explorador de paquetes para habilitar una nueva modalidad que muestra los conjuntos de trabajo como elementos de nivel superior. Esta modalidad hace que sea mucho más fácil gestionar los espacios de trabajo que contengan grandes cantidades de proyectos.

Explorador de paquetes en modalidad de conjuntos de trabajo

Utilice Seleccionar conjuntos de trabajo en el menú de la vista Explorador de paquetes para configurar qué conjuntos de trabajo se deben mostrar. El diálogo le permite crear nuevos conjuntos de trabajo Java, definir qué conjuntos de trabajo se muestran y en qué orden. Los conjuntos de trabajo también se pueden reorganizar directamente en el Explorador de paquetes con la técnica de arrastrar y soltar y la de copiar y pegar.


Página de carpeta fuente mejorada para el asistente Proyecto Java nuevo

En el asistente de creación de proyectos Java hay una página de configuración de carpetas fuente mejorada que le ayuda a crear proyectos a partir del fuente existente. Puede definir entradas de carpeta fuente, incluir/excluir las carpetas directamente en el árbol y someter a prueba los resultados de la acción sobre la marcha.

Nueva página de carpeta fuente


Compartir los valores de un proyecto Java

Cada proyecto Java puede tener valores personalizados para las opciones del compilador y el estilo de código. Estos valores se almacenan en el propio proyecto y se aplican automáticamente cuando el proyecto se carga (o actualiza) a partir del repositorio.

Si se modifican los valores de un proyecto Java por medio de la UI, los valores se escriben automáticamente en un archivo del directorio .settings. (Los contenidos del archivo de valores se generan automáticamente y no están pensados para una edición directa).

Valores del compilador que se pueden compartir


Navegar hasta los valores específicos del proyecto

Las páginas de preferencias de los valores que también son configurables para cada proyecto ofrecen un enlace que lleva a la página de preferencias específica del proyecto.

Captura de pantalla que muestra el enlace de valores para cada proyecto


Ubicaciones de Javadoc almacenadas en el archivo .classpath

Las ubicaciones de Javadoc que están conectadas a archivos JAR y a carpetas de clase se almacenan en el archivo .classpath, por lo que se pueden compartir con el equipo. Al iniciar la 3.1, hay un trabajo en segundo plano que hará que todas las ubicaciones almacenadas internamente con anterioridad migren al archivo .classpath.

Las ubicaciones de Javadoc se utilizan en 'Abrir Javadoc externo' (Control + F2) y en el asistente Javadoc.


Accesos directos de asistencias rápidas y arreglos rápidos

Algunas de las asistencias rápidas más conocidas, como las de redenominar en archivo y asignar a local, se pueden invocar directamente con las teclas Control+2 R y Control+2 L. Mire en la página de preferencias de teclas para obtener más arreglos rápidos que soportan la invocación directa.

Página de preferencias de teclas con accesos directos de asistencias rápidas


Nuevos arreglos rápidos

Se han añadido nuevos arreglos rápidos para varias opciones del compilador Java; por ejemplo:
  • ID de versión serie ausente: Captura de pantalla que muestra arreglos rápidos de versión serie

Nuevas asistencias rápidas

Se han añadido varias asistencias rápidas (Control+1) al editor Java:
  • Invertir expresiones booleanas:
    Imagen de la asistencia rápida para invertir condiciones
  • Invertir una expresión condicional:
    Asistencia rápida para invertir condición
    se obtiene el resultado:
    Resultado invertido
  • Convertir una expresión condicional (operador ?) a una sentencia if-else o viceversa
  • Introducir una nueva variable local después de una comprobación instanceof:
    Asignar conversión de tipo a local antes de invocación
    se obtiene el resultado:
    Resultado después de la invocación de asistencia rápida
  • Desglosar literal de una sola subserie:
    Asistencia rápida para escoger serie
    se obtiene el resultado:
    Resultado de la asistencia rápida 'Escoger serie'

Deshacer/Rehacer refactorización está disponible en el menú Editar

Ahora, Deshacer/Rehacer refactorización está disponible en el menú Editar, y las acciones Refactorizar, Deshacer/Rehacer por separado se han eliminado de la barra de menús global. Además, ahora las operaciones Deshacer/Rehacer refactorización están integradas en las operaciones Deshacer/Rehacer del editor Java, lo que proporciona un historial más transparente de las operaciones deshechas en el editor. Por ejemplo, ahora, una refactorización desencadenada desde dentro del editor se puede deshacer en el editor tan solo con pulsar Control+Z.

Acción Deshacer en el menú contextual del editor


Ajuste de la visibilidad de miembros

Los mandatos de refactorización Mover método, Mover tipo de miembro a archivo nuevo, Mover miembro estático, Promover y Degradar cambian automáticamente la visibilidad de los campos, métodos y tipos a los que se hace referencia, siempre que sea necesario.

Captura de pantalla que muestra la refactorización de mover tipo de miembro a archivo nuevo


Refactorización de mover método

El mandato Refactorizar > Mover se ha ampliado para perfeccionar la acción de mover métodos de instancia. Se han incluido estas nuevas características:
  • Opción para crear un método de delegación por cuestión de compatibilidad
  • Ahora, los campos a los que no se hace referencia también pueden ser destinos de método

Captura de pantalla que muestra la refactorización de mover en un método de instancia


Refactorización de Utilizar supertipo donde sea posible

La refactorización de Utilizar supertipo donde sea posible se ha ampliado con una preferencia que especifica si las apariciones de tipo en las expresiones instanceof se deben actualizar:

Captura de pantalla que muestra el asistente Utilizar supertipo donde sea posible


Menú de vía de construcción en el Explorador de paquetes

El menú contextual del Explorador de paquetes Java tiene una nueva entrada de menú 'Vía de construcción', que ofrece acciones según contexto para modificar la vía de construcción de un proyecto Java. Puede añadir/eliminar nuevas carpetas fuente, nuevos archivadores y nuevas bibliotecas, así como incluir/excluir carpetas y archivos de una carpeta fuente:

Menú de vía de construcción


Nuevo perfil de formateador incorporado predeterminado de Eclipse

Si bien el perfil de formateador de código predeterminado de Eclipse 3.0 es el de convenios Java, al formatear un archivo con este perfil, se emplean tabuladores para el sangrado, en lugar de espacios. Se ha añadido un nuevo perfil llamado Eclipse que refleja cómo han sido las opciones del formateador predeterminado hasta ahora y que utiliza tabuladores para el sangrado. Para utilizar verdaderos valores de convenios Java, basta con que conmute el perfil de formateador a convenios Java utilizando la página de preferencias Java > Estilo de código > Formateador.

Cambiar múltiples valores de acomodación de líneas de una sola vez

La página de formateador de código Java le permite cambiar múltiples valores de acomodación de líneas de una sola vez, multiseleccionando en el árbol y luego cambiando los valores:

Página de acomodación de líneas del formateador de código

Los valores del formateador de código están en la página de preferencias Java > Estilo de código > Formateador.


Valores de sangrado mixto

Las preferencias del formateador Java permiten configurar el tamaño de la tabulación con independencia del tamaño del sangrado (vea la pestaña Sangrado en el perfil del formateador):

Página de preferencias del formateador Java. Establecer las preferencias de sangrado en la pestaña 'Sangrado' del perfil del formateador.

Por ejemplo, establezca que el tamaño de tabulación sea 8 y que el tamaño de sangrado sea 4, para que el fuente quede sangrado con cuatro espacios. Si establece que la política de tabulación sea mixta, cada dos unidades de sangrado se sustituirán por un carácter de tabulación.

Los perfiles del formateador se pueden configurar en la página de preferencias Java > Estilo de código > Formateador.


Reejecutar primero las pruebas fallidas

En la vista JUnit hay una nueva acción que le permite reejecutar las pruebas fallidas antes que las que hayan sido aprobadas.

Reejecutar últimas pruebas fallidas