Ce document contient les descriptions des modifications les plus intéressantes ou les plus importantes apportées aux outils de développement Java pour l'édition 3.2 d'Eclipse. Elles sont regroupées dans les sections suivantes :
Voir aussi le document Nouveautés d'Eclipse Platform version 3.2 pour savoir quelles sont les modifications de la plateforme.
Restructuration Java |
|
Introduire l'adressage indirect |
Introduire l'adressage indirect est une nouvelle restructuration qui vous permet de rediriger tous les demandeurs d'une méthode vers une nouvelle méthode. La nouvelle méthode appelle la méthode d'origine. Vous pouvez remplacer la mise en oeuvre par défaut de la nouvelle méthode par une autre de votre choix si vous le souhaitez. Ce type d'adressage indirect et utile lorsqu'un nouveau comportement a besoin d'être introduit à une méthode mais que les cas suivants se produisent :
Utilisez l'adressage indirect pour corriger les erreurs de la méthode d'origine ou comme moyen rapide d'ajouter du code avant ou après des appels à une méthode. Pour exécuter la restructuration Introduire l'adressage indirect, sélectionnez une méthode, appelez Restructurer> Introduire l'adressage indirect, et indiquez le nom et la classe déclarante de la nouvelle méthode. La méthode est ajoutée à la classe déclarante sélectionnée. Tous les références sont mises à jour afin d'appeler la nouvelle méthode. |
Extraire la restructuration de superclasse |
Une nouvelle restructuration appelée Extraire la superclasse permet d'extraire une superclasse commune à partir d'un ensemble de types apparentés. Les types apparentés sélectionnés deviennent des sous-classes directes de la superclasse extraite après application de la restructuration. De plus, Extraire la superclasse permet d'utiliser la superclasse extraite chaque fois que possible dans le code. L'image suivante représente la hiérarchie de types après
l'extraction d' Pour appeler cette restructuration, sélectionnez Restructure> Extraire la superclasse.... |
Assistant de nettoyage |
Le Nettoyage peut être appelé pour un nombre indéterminé de fichiers source Java, de packages Java ou pour un projet Java entier. Il permet d'effectuer les opérations suivantes :
Voici quelques exemples de possibilités :
Pour rendre le code Java 1.4 compatible avec la version 5.0, utilisez Nettoyage pour :
Sélectionnez un projet, un package ou un fichier et utilisez Source > Nettoyage... pour démarrer cet assistant. |
Historique de restructuration |
Le suivi de la plupart des restructurations fournies
par JDT est désormais effectué dans l'historique de
restructuration. L'infrastructure de restructuration enregistre des
informations détaillées sur les restructurations effectuée dans votre espace de
travail. |
Création et application de scripts de restructuration |
Les restructurations effectuées sur votre espace de travail local peuvent désormais être exportées dans un script de restructuration et être revues dans un espace de travail arbitraire. Ces scripts de restructuration peuvent être utilisés dans différents scénarios tels que la réparation automatique de modifications créant des ruptures d'API entre le couches logicielles ou la fourniture de correctifs de sémantique riche. Pour créer un script de restructuration à partir de l'historique de restructuration, utilisez Restructurer > Création d'un script... Pour appliquer le script de restructuration généré à un espace de travail arbitraire, utilisez Restructurer > Appliquer le script... Un nouveau point d'extension permet aux éditeur de plug-in de
fournir un support à la restructuration de script aux restructurations nouvelles
ou existantes.
Pour plus de détails, voir le point d'extension
|
Exportation de fichier JAR avec des restructurations |
Lors de l'exportation d'un fichier JAR à
partir de l'espace de travail, l'assistant d'exportation de fichier
JAR propose une option permettant d'inclure les informations de restructuration
dans le fichier JAR. Les clients peuvent migrer une ancienne version du fichier JAR vers une nouvelle version à l'aide de la restructuration Restructurer > Migrer le fichier JAR.... Vous pouvez aussi utiliser Chemin de génération> Migrer le fichier JAR... si un fichier JAR est déjà sélectionné. Cette restructuration met à jour automatiquement tout le code dépendant de l'ancienne version du fichier JAR afin qu'il utilise la nouvelle version du fichier JAR. |
Restructurations détectant les API |
Plusieurs restructurations ont été étendues afin de prendre en charge la compatibilité API en conservant le membre original comme délégué du membre restructuré :
La génération d'un membre délégué en vue de préserver la compatibilité des API peut être activée en sélectionnant Conserver les méthodes originales en tant que délégué des méthodes modifiées dans la boîte de dialogue de restructuration. |
La restructuration Changement du nom du type met à jour les éléments ayant le même nom |
La restructuration Changement du nom du type peut désormais renommer les variables et les méthodes en leur attribuant des noms similaires au type renommé. Cette fonction permet de synchroniser les noms de méthode et de variable avec les noms de type. Pour appeler cette restructuration, sélectionnez un type et utilisez Restructurer > Renommer... |
La restructuration Renommer le package renomme les sous-packages |
La restructuration Renommer le package permet maintenant de renommer les sous-packages à la demande. Dans cet exemple, Pour appeler cette restructuration, sélectionnez un package et utilisez Restructurer > Renommer... |
Filtrage de la prévisualisation de la restructuration |
La page de prévisualisation de la restructuration prend désormais en charge le filtrage des modifications. Cette possibilité est très pratique lorsque la mise à jour des correspondances textuelles dans les commentaires et les chaînes est requise lors du changement de nom d'éléments Java. La capture d'écran représente la boîte de dialogue de changement de
nom dans laquelle le filtrage des correspondances textuelles est appliqué lors
du changement de nom de la classe Les modifications concernant la visibilité des éléments Java peuvent désormais être filtrées. |
Editeur Java |
|
Assistant de contenu personnalisable |
Les appels répétés à l'assistant de contenu (Ctrl+Espace sur la plupart des plateformes) passe maintenant par différentes catégories de propositions. Vous pouvez attribuer des raccourcis clavier à vos catégories de
propositions favorites et utilise la page de préférences
Le nouveau point d'extension
|
Prise en charge de la casse ChatMot dans l'exécution de code |
L'exécution de code prend désormais en
charge les modèles de casse ChatMot.
Par exemple, une exécution sur NPE proposera
NullPointerException.
Vous pouvez désactiver cette prise en charge à l'aide de la
préférence permettant d'afficher les correspondances de la
casse ChatMot) de la page de préférences
|
Menu rapide pour la délimitation de code |
Le nouveau menu rapide Entourer de permet de délimiter une sélection de lignes par du code. Le menu est personnalisable à l'aide de modèles. Ces modèles détectent maintenant les variables qui doivent être extraites ou rendues définitives. Utilisez Source > Entourer de ou appuyez sur Alt+Maj+Z pour afficher directement le menu. Vous pouvez ajouter vos modèles personnalisés dans la page de
préférences Java > Editeur >
Modèles. Le modèle nécessite seulement une variable
|
Nouveaux correctifs rapides |
De nouveaux correctifs rapides ont été ajoutés, par exemple :
|
Prise en charge de catégorie |
Les catégories peuvent être définies dans les
commentaires Javadoc pour les types, les méthodes et les zones à l'aide de la
balise Les catégories s'affichent dans les vues Structure et Membres et dans la Structure rapide. Le menu Vue permet de sélectionner les catégories visibles. |
Tous les membres peuvent être réduits |
Lorsque la réduction est activée, les champs, les initialiseurs et leurs commentaires peuvent être réduits de la même façon que les méthodes. De nouvelles commande de réduction de texte permettent de réduire tous les commentaires, tous les membres et de réinitialiser la structure de réduction. Ces commandes se trouvent dans le menu contextuel Réduction de l'éditeur Java dans la règle verticale. |
Pris en charge de la règle et structure des fichiers Java en dehors de l'espace de travail |
L'éditeur Java affiche désormais les règles verticales. De plus, la page Structure ainsi que la Structure rapide peuvent afficher la structure des fichiers Java externes et des fichiers Java des référentiels. |
Compilateur Java |
|
Conformité à Java SE 6.0 |
La conformité à Java SE 6.0 est
désormais entièrement prise en charge.
En particulier, les attributs |
Analyse de référence null |
Le compilateur Java peut désormais effectuer une analyse de référence null simple pour les variables locales. Ce diagnostic optionnel peut être activé dans la page de
préférences
L'analyse est assez classique et obéit à des règles d'affectation définies. Elle ne prend en compte que les cas présentant un élément suspect (par exemple si une vérification null est exécutée par la suite) au lieu de traiter tous les cas possibles. Dans le mode de conformité à la 5.0, les avertissements de
référence null peuvent être désactivés à l'aide de
|
Amélioration de la reprise en cas d'erreur de syntaxe |
L'analyseur syntaxique Java interne est désormais plus résilient en cas d'erreurs de syntaxe. Dans Eclipse 3.1, une erreur de syntaxe empêchait l'affichage des erreurs suivantes. L'analyseur syntaxique peut maintenant reprendre à partir d'instructions contenant des erreurs et continuer à exécuter d'autres analyses. Dans l'exemple suivant, la référence incorrecte à la méthode
Ceci permet par exemple aux restructurations affectant un seul fichier de tolérer les erreurs de syntaxe. Il est ainsi possible de renommer ou d'extraire une variable locale au début d'une méthode dont la rédaction n'est pas terminée. |
Considération des erreurs configurables comme des erreurs non bloquantes |
L'option Considérer les erreurs
configurables comme des erreurs bloquantes dans la page de préférences
S elle est désactivée, le code compilé peut alors être exécuté même s'il contient des erreurs. |
Détection des balises $NON-NLS$ inutiles |
Les balises La génération de rapport de problème peut être activée ou
désactivée à l'aide de la même préférence que pour la détection de chaînes non
externalisées. Vous pouvez la définir dans la page de préférences
Pour supprimer les balises inutiles , utilisez le correctif rapide (Ctrl+1), ou Ctrl+1, Ctrl+Entrée pour supprimer toutes les balises inutile dans une unité de compilation. |
Détection d'une utilisation de type brut |
La syntaxe des types bruts est maintenant détectée. Un type brut est une référence à un type générique ne comportant pas d'argument
de type (par exemple Ce diagnostic facultatif peut être activé indépendamment des
opérations de type non contrôlé dans la page des préférences
Vous pouvez désactiver cet avertissement en ajoutant Un correctif rapide a également été ajouté pour faciliter la résolution du problème de la syntaxe de type brut. |
Détection des affectations des paramètres de méthode |
L'affectation à des paramètres de méthode est une pratique déconseillée. Pour détecter et signaler ces affectations, ouvrez la page des
préférences
|
Détection des intitulés inutilisés |
Le compilateur Java détecte désormais les intitulés d'instruction inutilisés. Ce diagnostic optionnel peut être activé dans la page de
préférences
|
Détection d'un fall through d'une instruction switch case |
Le compilateur Java peut désormais détecter si un cas peut être indiqué en effectuant un fall through au cas précédent. Seuls les cas vides sont autorisés. Ce diagnostic optionnel peut être activé dans la page de
préférences
Un correctif rapide permettant d'ajouter une instruction
d'interruption |
Amélioration des performances des fichiers JAR de grande taille |
La limite de taille de la cache du modèle Java interne est désormais une fonction de la taille de segment maximale (argument -Xmx VM dans la plupart des JVM) qui est attribué à la machine virtuelle Java exécutant l'environnement Eclipse IDE. L'augmentation de la taille de segment améliore nettement les performances lorsque des fichiers .jar de grande taille se trouvent dans le chemin de classe de génération. |
Recréation de fichiers .class modifiés |
Le générateur Java peut désormais recréer des fichiers .class modifiés ou supprimé dans le dossier de sortie à l'aide du source original. Ceci est géré par la page de préférences
|
Vue Javadoc et info-bulles du Javadoc joint |
La vue Javadoc et les info-bulles Javadoc extraient désormais les informations du Javadoc joint pour les bibliothèques dont le source n'est pas joint. |
Outils JUnit |
|
Prise en charge de JUnit 4 |
la prise en charge de JUnit a été mise à jour et permet maintenant d'exécuter et d'écrire des tests JUnit 4. Consultez le site www.junit.org pour plus d'informations sur JUnit 4.
|
Historique de la vue JUnit |
La vue JUnit peut maintenant gérer plusieurs exécutions de tests simultanées. Vous pouvez alterner entre les exécutions de test actives et récentes à l'aide du nouvel historique. La réexécution des tests peut être relancée à partir de l'historique sans interrompre les tests déjà en cours d'exécution. Ceci fonctionne avec JUnit 3 et JUnit 4. |
Débogueur Java |
|
Environnements d'exécution |
Un environnement d'exécution décrit les
fonctions d'une phase d'exécution, par exemple J2SE-1.4. Vous pouvez définir
des JRE utilisés pour l'exécution, le débogage et la génération en
référençant un environnement d'exécution.
La nouvelle page de préférences
Un chemin de génération ou une configuration de lancement référençant un environnement d'exécution est plus portable qu'un chemin ou une configuration référençant un JRE explicite, car un environnement d'exécution JRE peut être résolu indépendamment de son nom. Utilisez l'onglet JRE ou l'assistant d'Edition d'une bibliothèque pour préciser un environnement d'exécution à utiliser pour l'exécution et la génération. |
Variable de lancement des propriétés système |
Une nouvelle variable de lancement permet de définir dynamiquement les propriétés système en tant que programme Java et arguments VM à partir de la phase d'exécution Eclipse. La variable accepte un seul argument qui est le nom de la propriété système à résoudre lors du lancement. Par exemple, la propriété système java.home doit être référencée par ${system_property:java.home}. |
Prise en charge de l'évaluation des tableaux |
L'évaluation et l'assistant de contenu
sont désormais pris en charge pour les tableaux Java. Utilisez
|
Groupes d'unités d'exécution Java |
Vous pouvez maintenant afficher des groupes d'unités d'exécution dans la vue Débogage en alternant l'option Affiche les groupe d'unités d'exécution dans le menu Afficher. |
Entrées exportées d'un chemin d'accès aux classes d'exécution |
Un chemin d'accès aux classes d'exécution peut être configuré pour comprendre uniquement les entrées exportées du chemin de génération. Par défaut, il comprend toutes les entrées (exportées et non exportées). Dans l'onglet Chemin d'accès aux classes, sélectionnez l'entrée par défaut et cliquez sur le bouton Edition... pour configurer l'option. |
Comparaison des options Interrompre l'unité d'exécution et Interrompre VM |
Une nouvelle option ajoutée à la page de
préférences
|
Divers |
|
Indicateur de type Java |
Active l'Indicateur de type Java dans la page de préférence
|
Recherche des chaînes externalisées qui ne fonctionnent pas |
Une nouvelle action permet de rechercher les chaînes externalisées qui ne fonctionnent pas. La recherche signale les clés manquantes, inutilisées ou en double. Pour commencer la recherche, sélectionnez un fichier de propriétés, un package ou un projet complet et choisissez Source > Rechercher les chaînes externalisées qui ne fonctionnent pas |
Meilleure prise en charge du mécanisme d'externalisation de chaîne d'Eclipse |
Le mécanisme d'externalisation de chaîne d'Eclipse offre le même type de prise en charge que l'externalisation de chaîne classique. La valeur d'externalisation associée est affichée dans une info-bulle lorsque vous placez la souris sur la clé d'une chaîne externalisée dans l'éditeur Java. Faites Ctrl+clic sur la clé pour naviguer directement jusqu'à l'entrée dans le fichier de propriétés correspondant. Dans l'éditeur du fichier de propriétés, utilisez Ctrl+clic pour trouver l'emplacement de la clé dans le code. |
Création d'un type à partir d'un fragment d'exemple |
Vous pouvez coller un fragment de code contenant un type
Java directement dans un package ou un dossier source pour créer une
nouvelle unité de compilation.
Par exemple, sélectionnez et copiez ce code source :package pack; public class HelloWorld { public static void main (String [] args) { System.out.println("Hello World"); } }puis sélectionnez un dossier source dans la vue Package à l'aide de Ctrl+V (Edition > Coller). Ceci crée automatiquement un nouveau 'pack' de package et le fichier 'HelloWorld.java' avec le contenu copié. |
Génération des méthodes hashCode() et equals() |
Une nouvelle action permet de générer les méthodes
Pour appeler cette action, sélectionnez un type et utilisez Source > Générer hashCode() et equals()... |
Module de formatage du code de ligne de commande |
Il est désormais possible de formater du code source sans démarrer l'identificateur unique Eclipse, à l'aide de la nouveau module de formatage sans interface. Il fonctionne comme une application Eclipse standard. La commande suivante formate les fichiers source dans le dossier src avec les options indiquées dans le fichier config.prefs : Voir Utilisation du module de formatage pour plus d'informations. |
Prise en charge des extensions similaires à Java |
Les fichiers ayant une extension de fichier autre
que .java
et contenant du code Java pur sont désormais pris en charge. Vous
pouvez ajouter une extension similaire à Java dans la page de préférences
|