A continuación se proporcionan las descripciones de algunos de los cambios más significativos hechos en las herramientas de desarrollo Java para el release 3.2 de Eclipse. Se agrupan de la forma siguiente:
Consulte también el documento Eclipse Platform What's New in 3.2 para conocer los cambios de la plataforma.
Refactorización Java |
|
Refactorización Introducir direccionamiento indirecto |
Introducir direccionamiento indirecto es una refactorización nueva que permite redirigir todos los llamadores de un método a un método nuevo. El método nuevo llama al método original. Puede sustituir la implementación predeterminada del método nuevo por otra si lo desea. Un direccionamiento indirecto así es útil cuando debe introducirse un comportamiento nuevo para un método pero:
Utilice el direccionamiento indirecto para arreglos para el método original o como una forma rápida de añadir código antes o después de añadir llamadas a un método. Para ejecutar la refactorización Introducir direccionamiento indirecto, seleccione un método, invoque Refactorizar > Introducir direccionamiento indirecto..., proporcione un nombre y la clase declarante para el método nuevo. El método se añade a la clase declarante seleccionada. Y todas las referencias se actualiza para llamar al método nuevo. |
Refactorización Extraer superclase |
Una refactorización nueva llamada Extraer superclase extrae una superclase común de un conjunto de tipos hermanos. Los tipos hermanos seleccionados se convierten en subclases directas de la superclase extraída después de aplicar la refactorización. Más aún, Extraer superclase permite utilizar la superclase extraída siempre que sea posible en el código. La imagen siguiente muestra la jerarquía de tipos después de extraer Para invocar esta refactorización, utilice Refactorizar > Extraer superclase.... |
Asistente Limpiar |
Limpiar puede invocarse sobre cualquier número de archivos fuente Java, paquetes o sobre todo un proyecto Java. Le ayudará a:
A continuación se proporcionan algunos ejemplos de lo que se puede hacer:
Para llevar el código compatible de Java 1.4 a 5.0, utilice Limpiar para:
Seleccione un proyecto, paquete o archivo y utilice Fuente > Limpiar... para iniciar este asistente. |
Historial de refactorizaciones |
Ahora se hace un seguimiento de la mayoría de refactorizaciones ofrecidas por JDT en un
Historial de refactorizaciones. La infraestructura de refactorizaciones almacena información detallada acerca de
las refactorizaciones que se han realizado en el espacio de trabajo. |
Crear y aplicar scripts de refactorización |
Las refactorizaciones realizadas en el espacio de trabajo local pueden exportarse a un Script de refactorización y reproducirse en un espacio de trabajo arbitrario. Tales scripts de refactorización pueden utilizarse en diferentes casos como por ejemplo el arreglo automático de cambios de API de ruptura entre capas de software o para proporcionar parches con semántica enriquecida. Cree un script de refactorización a partir del historial de refactorizaciones utilizando Refactorizar > Crear script... Para aplicar el script de refactorización en un espacio de trabajo arbitrario, utilice Refactorizar > Aplicar script... Un punto de extensión nuevo permite a los escritores de plug-ins colaborar con soporte de scripts de
refactorización para refactorizaciones nuevas o ya existentes.
Consulte el punto de extensión |
Exportación de archivo JAR con refactorizaciones |
Cuando se exporta un archivo JAR desde el espacio de trabajo, el asistente Exportación de JAR ofrece la opción de
incluir información de refactorización en el archivo JAR. Los clientes pueden entonces migrar una versión antigua del archivo JAR a un nueva utilizando la refactorización Refactorizar > Migrar archivo JAR.... También puede utilizar Vía de acceso de construcción > Migrar archivo JAR... si actualmente hay un archivo JAR seleccionado. Esta refactorización actualiza automáticamente todo el código dependiente de la versión antigua del archivo JAR para que utilice la versión nueva del archivo JAR. |
Refactorizaciones que tienen en cuenta las API |
Hay varias refactorizaciones existentes que se han ampliado para soportar la compatibilidad de las API manteniendo el miembro original como delegado del miembro refactorizado:
La generación de un miembro delegado para conservar la compatibilidad de la API puede habilitarse marcando Mantener método original como delegado del miembro refactorizado en el diálogo de refactorización. |
Redenominar tipo actualiza elementos con nombres parecidos |
La refactorización de Redenominar tipo puede ahora redenominar variables y métodos con nombres parecidos al del tipo redenominado. Esta característica ayuda a mantener los nombres de método y de variable sincronizados con nombres de tipo. Para invocar esta refactorización, seleccione un tipo y utilice Refactorizar > Redenominar... |
La refactorización Redenominar paquete redenomina subpaquetes |
La refactorización Redenominar paquete también redenomina subpaquetes bajo demanda. En este ejemplo, Para invocar esta refactorización, seleccione un paquete y utilice Refactorizar > Redenominar... |
Filtrar la vista previa de la refactorización |
La página de vista previa de la refactorización ahora soporta el filtrado de cambios. Esto resulta especialmente útil cuando se solicita la actualización de coincidencias de texto en comentarios y series al redenominar elementos Java. La captura de pantalla muestra el diálogo de redenominación filtrado para coincidencias de texto al
redenominar la clase Ahora también se pueden filtrar los cambios relacionados con la visibilidad de elementos Java. |
Editor Java |
|
Asistencia de contenido personalizable |
Ahora, al invocar repetidamente la asistencia de contenido (Control+Espacio en la mayoría de plataformas) se pasa a través de diferentes categorías de propuestas. Puede asignar distintos accesos directos de teclas para sus categorías de propuestas favoritas y utilizar
la página de preferencias
El punto de extensión nuevo |
Soporte de concatenación por mayúsculas en la conclusión de código |
Ahora la conclusión de código soporta los patrones de concatenación por mayúsculas.
Por ejemplo, para concluir NPE, propondrá NullPointerException. Este soporte puede inhabilitarse
utilizando la preferencia Mostrar coincidencias con mayúsculas/minúsculas en la página de preferencias
|
Menú rápido para rodear código |
El menú rápido Rodear con permite rodear una selección de líneas con código. El menú es ampliable a plantillas personalizadas. Ahora las plantillas tienen en cuenta las variables que deben excluirse o hacerse finales. Utilice Fuente > Rodear con o pulse Alt+Mayús+Z para ver directamente el menú. Puede añadir las plantillas personalizadas en la página de preferencias Java > Editor >
Plantillas. Todo lo que la plantilla necesita es una variable |
Arreglos rápidos nuevos |
Se han añadido algunos arreglos rápidos, por ejemplo:
|
Soporte de categoría |
Las categorías pueden definirse en comentarios Javadoc para tipos, métodos y campos que
utilizan el código Las categorías se muestran en las vistas Esquema y miembros y en Esquema rápido. El menú de la vista permite seleccionar las categorías visibles. |
Todos los miembros pueden replegarse |
Cuando el repliegue está habilitado, los campos, los inicializadores y sus comentarios pueden replegarse igual que los métodos. Hay mandatos de repliegue de texto nuevos para contraer todos los comentarios, contraer todos los miembros y restablecer la estructura de repliegue. Estos mandatos se encuentran en el menú de contexto Repliegue del editor Java en el regla vertical. |
Soporte de regla y esquema para archivos Java fuera del espacio de trabajo |
El editor Java muestra ahora las reglas verticales y la página Esquema al igual que el Esquema rápido pueden mostrar el esquema de archivos Java externos y de archivos Java de repositorios. |
Compilador Java |
|
Conformidad con Java SE 6.0 |
La conformidad con Java SE 6.0 está ahora totalmente soportada. En concreto, los atributos
|
Análisis de referencia nula |
El compilador Java es capaz ahora de realizar análisis básico de referencia nula para las variables locales. Este diagnóstico opcional puede habilitarse en la página de preferencias
Tenga en cuenta que el análisis es muy conservador y sigue reglas de asignación definidas. Solo tiene en cuenta casos en los que hay algo sospechoso (p.ej., si después se realiza una comprobación nula) en lugar de quejarse de todos los casos posibles. En la modalidad de conformidad 5.0, los avisos a referencias nulas pueden silenciarse utilizando
|
Recuperación de sintaxis mejorada |
Ahora, el analizador Java interno es mucho más resistente a los errores de sintaxis. En Eclipse 3.1, un error de sintaxis impediría la visualización de los errores subsiguientes. Ahora el analizador puede recuperarse de las sentencias con errores y seguir analizando. En el ejemplo siguiente, la referencia no válida al método Esto por ejemplo permite que las refactorizaciones que afectan a un solo archivo toleren errores de sintaxis. Por ejemplo, ahora es posible redenominar o extraer una variable local en la parte superior de un método que todavía no se haya escrito completamente. |
Tratar errores configurables como no muy graves |
La opción Tratar errores configurables como errores muy graves en la página de preferencias
Si esta opción está inhabilitada, el código compilado puede ejecutarse a pesar del hecho de que hay errores en el código. |
Detección de códigos $NON-NLS$ innecesarios |
Ahora se detectan los códigos El informe puede activarse y desactivarse utilizando la misma preferencia que para la detección de series
no externalizadas. Puede establecerse en la página de preferencias
Para eliminar los códigos innecesarios utilice Arreglo rápido (Control+1), o Control+1, Control+Intro para eliminar todos los códigos innecesarios en una unidad de compilación. |
Detección de utilización de tipo puro |
Ahora se detectan las utilizaciones de tipos puros. Un tipo puro es una referencia a algún tipo
genérico sin ningún tipo de argumento (p.ej. Este diagnóstico opcional puede habilitarse independientemente de las operaciones de tipo no seleccionadas
en la página de preferencias
El aviso puede silenciarse añadiendo Además, se ha implementado un Arreglo rápido para ayudar a resolver el problema de utilización de tipo puro. |
Detección de asignaciones de parámetro de método |
La asignación a parámetros de método se considera una práctica pobre. Para detectar tales asignaciones e informar de ellas, abra la página de preferencias
|
Detección de etiquetas no utilizadas |
El compilador Java ahora detecta etiquetas de sentencias no utilizadas. Este diagnóstico opcional puede habilitarse en la página de preferencias
|
Detección de recorrido de casos switch |
El compilador Java puede detectar ahora si es posible entrar en un caso viniendo de un caso anterior. Se permiten los casos vacíos. Este diagnóstico opcional puede habilitarse en la página de preferencias
Se ha implementado un arreglo rápido para añadir una sentencia |
Rendimiento mejorado para archivos .jar grandes |
El límite de tamaño de la memoria caché del modelo Java es ahora una función del tamaño de almacenamiento dinámico máximo (argumento de VM -Xmx en la mayoría de las JVM) proporcionada a la máquina virtual Java que ejecuta el IDE de Eclipse. El aumento del tamaño del almacenamiento dinámico implica una mejora considerable en el rendimiento cuando hay archivos .jar grandes en la vía de acceso de clases de construcción. |
Recrear archivos .class modificados |
El constructor Java puede ahora recrear archivos .class modificados o eliminados en la carpeta de salida utilizando el código fuente original. Esto puede controlarse en la página de preferencias
|
Vista Javadoc y ayudas flotantes del Javadoc anexo |
La vista Javadoc y las ayudas flotantes de Javadoc ahora extraen la información del Javadoc anexo para las bibliotecas que no tienen código fuente anexo. |
Herramientas de JUnit |
|
Soporte de JUnit 4 |
El soporte de JUnit se ha actualizado para ejecutar y escribir pruebas JUnit 4. Consulte el sitio www.junit.org para obtener más información acerca de JUnit 4.
|
Historial de la vista JUnit |
Ahora la vista JUnit puede manejar varias ejecuciones de prueba simultáneas. Puede conmutar entre ejecuciones de prueba activas y recientes utilizando el historial nuevo. Las pruebas pueden volver a ejecutarse a partir del historial sin detener pruebas que ya estén ejecutándose. Esto funciona con JUnit 3 igual que con JUnit 4. |
Depurador Java |
|
Entornos de ejecución |
Un entorno de ejecución describe las posibilidades de un tiempo de ejecución: por ejemplo,
J2SE-1.4. Puede especificar los JRE utilizados para ejecutar, depurar y construir basándose en la referencia de un
entorno de ejecución.
La página de preferencias
Una vía de acceso de construcción o una configuración de lanzamiento que haga referencia a un entorno de ejecución es más portable que una que haga referencia a un JRE explícito ya que un entorno de ejecución de JRE puede resolverse independientemente de su nombre. Utilice la pestaña JRE o el asistente Editar biblioteca para especificar un entorno de ejecución para ejecutar y construir. |
Variable de lanzamiento de propiedad del sistema |
Una variable de lanzamiento nueva permite especificar dinámicamente propiedades del sistema como argumentos de VM y programa Java del tiempo de ejecución de Eclipse. La variable acepta un solo argumento que es el nombre de la propiedad del sistema que debe resolverse en tiempo de lanzamiento. Por ejemplo, se hará referencia a la propiedad del sistema java.home como ${system_property:java.home}. |
Soporte de evaluación para matrices |
La evaluación y la asistencia de contenido ahora están soportadas para matrices Java.
Utilice |
Grupos de hebras de Java |
Ahora puede visualizar grupos de hebras en la vista Depurar conmutando Mostrar grupos de hebras en el menú de vista. |
Entradas exportadas de vía de acceso de clases de tiempo de ejecución |
Una vía de acceso de clases puede configurarse para que solo incluya entradas exportadas de la vía de acceso de construcción. Por omisión, una vía de acceso de clases de tiempo de ejecución incluye todas las entradas (exportadas y no exportadas.) En la pestaña Vía de acceso de clases, seleccione la entrada predeterminada y utilice el botón Editar... para configurar la opción. |
Suspender hebra frente a Suspender VM |
Se ha añadido una opción a la página de preferencias
|
Varios |
|
Indicador de tipo Java |
Habilite el Indicador de tipo Java en la página de preferencias
|
Buscar series externalizadas dañadas |
Hay una acción nueva para buscar series externalizadas dañadas. La búsqueda informa de claves faltantes, no utilizadas y duplicadas. Para iniciar la búsqueda, seleccione un archivo de propiedades, un paquete o todo un proyecto y utilice Origen > Buscar series externalizadas dañadas |
Soporte mejorado para el mecanismo de externalización de series de Eclipse |
El mecanismo de externalización de series de Eclipse tiene ahora la misma especie de soporte que la externalización de series tradicional. El valor externalizado asociado se muestra en una ayuda flotante al pasar el puntero sobre una serie externalizada en el editor Java. Haga Control+Pulsación sobre la clave para navegar directamente hasta la entrada en el correspondiente archivo de propiedades. En el editor de archivos de propiedades puede utilizar Control+Pulsación para averiguar dónde se utiliza la clave en el código. |
Crear un tipo a partir de un fragmento de código de ejemplo |
Puede pegar un fragmento de código que contenga un tipo Java directamente
en un paquete o una carpeta fuente para crear una unidad de compilación nueva.
Por ejemplo, seleccione y copie este código fuente
package pack; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }a continuación seleccione una carpeta fuente en el Explorador de paquetes, utilice Control+V (Editar > Pegar). Esto crea automáticamente un paquete nuevo llamado 'pack' y un archivo 'HelloWorld.java' con el contenido copiado. |
Generar hashCode() y equals() |
Se puede utilizar una acción nueva para generar los métodos Para invocar una acción seleccione un tipo y utilice Fuente > Generar hashCode() y equals()... |
Formateador de código de líneas |
Ahora es posible formatear el código fuente sin iniciar la UI de Eclipse utilizando la aplicación de formateador de código autónoma nueva. El formateador de líneas de código funciona como una aplicación Eclipse estándar. El mandato siguiente formateará los archivos fuente en la carpeta src con las opciones especificadas en el archivo config.prefs: Consulte la sección Utilizar la aplicación de formateador para conocer los detalles. |
Soporte para extensiones de estilo Java |
Ahora están soportados los archivos con una extensión de archivo que no sea .java
y que contenga código Java puro. Se puede añadir una extensión de estilo Java utilizando la página de preferencias
|