Conseils et astuces (JDT)

Edition Propagation des modifications Navigation Recherche Vues Divers Débogage

Edition de la source

Assistant de contenu Cet assistant fournit une liste d'exécutions suggérées pour des chaînes saisies partiellement. Dans l'éditeur Java, appuyez sur les touches Ctrl+Espace ou sélectionnez Editer > Assistant de contenu.

Boîte de dialogue de sélection de l'assistant de contenu

Assistant de contenu dans des commentaires Javadoc L'assistant de contenu est également disponible dans des commentaires Javadoc.

Assistant de contenu pour les commentaires Javadoc

Suppression de types dans l'assistant de contenu Pour que certains types n'apparaissent pas dans l'assistant de contenu, utilisez la fonction de filtrage des types configurés dans la page des préférences Ouvre la page des préférences Filtres de type Java > Apparence > Filtres de type. Les types correspondant à l'un de ces masques de filtre n'apparaîtront pas dans la boîte de dialogue Ouverture d'un type et ne seront pas disponibles pour l'assistant de contenu, les correctifs rapides et l'organisation des importations. Ces masques de filtre n'affectent pas les vues Package et Hiérarchie des types.

Page des préférences des filtres de type

Assistant de contenu pour l'exécution de variables, paramètres de méthode et noms de zone Vous pouvez utiliser l'assistant de contenu pour accélérer la création de zones, de paramètres de méthode et de variables locales. Le curseur étant placé après le nom de type de la déclaration, sélectionnez Editer > Assistant de contenu ou appuyez sur les touches Ctrl+Espace.

Recommandations pour les noms de zone

Si vous utilisez un préfixe ou un suffixe de nom pour les zones, les variables locales ou les paramètres de méthode, n'oubliez pas de le spécifier dans la page des préférences Ouvre la page des préférences Style du code Java > Style du code.

Conseils sur les paramètres Avec le curseur placé sur un argument de méthode, vous pouvez voir une liste de conseils sur les paramètres. Dans l'éditeur Java, appuyez sur les touches Ctrl+Maj+Espace ou sélectionnez Editer > Conseils sur les paramètres.

Aide contextuelle des conseils sur les paramètres

Assistant de contenu sur des classes anonymes L'assistant de contenu fournit également de l'aide lors de la création d'une classe anonyme. Avec le curseur placé après la parenthèse ouvrante d'une création d'instance de classe, sélectionnez Editer > Assistant de contenu ou appuyez sur les touches Ctrl+Espace.

Assistant de contenu d'une classe anonyme

Cette opération crée le corps de la classe interne anonyme, incluant toutes les méthodes devant être implémentées.
Activer/désactiver l'insertion ou le remplacement de l'assistant de contenu Lorsque l'assistant de contenu est appelé sur un identificateur existant, il peut remplacer l'identificateur par l'exécution choisie ou procéder à une insertion. Le comportement par défaut (remplacement ou insertion) est défini dans la page des préférences Ouvre la page des préférences de l'assistant de contenu Java > Editeur > Assistant de contenu.
Vous pouvez temporairement inverser le comportement en étant à l'intérieur de la boîte de dialogue de sélection de l'assistant de contenu, en appuyant sur la touche Ctrl et en la maintenant enfoncée, pendant la sélection de l'exécution.
Assistant de contenu incrémentiel Par défaut, l'assistant de contenu va maintenant Insérer les préfixes courants automatiquement, sur le modèle de l'extension de shell Unix. Pour modifier ce comportement, désélectionnez le paramètre dans la page des préférences Ouvre la page des préférences de l'assistant de contenu Java > Editeur > Assistant de contenu.
Personnalisation de l'assistant de contenu Nouveauté de la version 3.2 Les appel répétés à l'assistant de contenu (Ctrl+Espace sur la plupart des plateformes) passent maintenant par différentes catégories de propositions.

assistant de contenu avec nouvelles propositions de modèles de méthode

Pour configurer les catégories à afficher, utilisez la page de préférences Ouvre la page de préférences de l'assistant de contenu Java > Editeur > Assistant de contenu > Avancé.

Vous pouvez aussi affecter des raccourcis clavier différents à vos catégories de proposition favorites.

Création de méthode d'accès get (getter) et de méthode d'accès set (setter) Pour créer des méthodes getter et setter pour une zone, sélectionnez la déclaration de la zone et sélectionnez Source > Générer les méthodes Getter et Setter.

Boîte de dialogue Génération de méthodes Getter et Setter

Si vous utilisez un préfixe ou un suffixe de nom, n'oubliez pas de l'indiquer dans la page des préférences Ouvre la page des préférences Style de code Java > Style de code.
Utilisation de l'assistant de contenu pour créer des méthodes d'accès get et de méthode d'accès set Vous pouvez également créer des méthodes getter et setter à l'aide de l'assistant de contenu. Placez le curseur dans le corps du type entre des membres et appuyez sur Ctrl+Espace pour obtenir les propositions qui créent un raccord de méthode getter ou setter.
Assistant de contenu pour la création d'une méthode setter
Suppression de méthodes d'accès get et set avec une zone Lorsque vous supprimez une zone d'une vue, Eclipse peut vous proposer de supprimer ses méthodes Getter et Setter. Si vous utilisez un préfixe ou un suffixe de nom pour les zones, n'oubliez pas de l'indiquer dans la page des préférences Ouvre la page des préférences Style de code Java > Style de code.
Création de méthodes déléguées Pour créer une méthode déléguée pour une zone, sélectionnez la déclaration de la zone, puis appelez Source > Générer des méthodes déléguées. Les méthodes sélectionnées sont alors ajoutées au type contenant un appel d'envoi aux méthodes déléguées. L'exemple suivant illustre une méthode déléguée :
Exemple de méthode déléguée
Création de méthodes hashCode() et equals()
Nouveauté de la version 3.2
Pour créer les méthodes hashCode() et equals(), appelez Source > Générer hashCode() et equals().

Boîte de dialogue Générer hashCode() et equals()

Utilisation de modèles pour créer une méthode Vous pouvez définir un nouveau modèle contenant un raccord de méthode à l'aide de la page des préférences Ouvre la page des préférences des modèles de l'éditeur Java > Editeur > Modèles. Les modèles sont présentés dans les propositions de l'Assistant de contenu (Ctrl+Espace).
Vous disposez également de modèles existants, tels que 'private_method', 'public_method', 'protected_method'.
Utilisez la touche de Tabulation pour naviguer parmi les valeurs à saisir (type de retour, nom et arguments).

Assistant de contenu avec nouvelles propositions de modèle de méthode

Utilisation du correctif rapide pour créer une méthode Commencez par appeler la méthode et sélectionnez Correctif rapide (Ctrl+1) pour créer la méthode.

Correctif rapide 'Créer une méthode'

Utilisation du correctif rapide pour modifier une signature de méthode Ajoutez un argument à un appel de méthode sur un site d'appel. Utilisez ensuite Correctif rapide (Ctrl+1) pour ajouter le paramètre requis dans l'instruction de la méthode.

Correctif rapide Modification de la signature

Utilisez l'assistant de contenu pour créer un raccord de constructeur A l'emplacement où vous voulez ajouter le nouveau constructeur, utilisez l'assistant de contenu après avoir saisi les premières lettres du nom du constructeur.
Création d'un constructeur à l'aide de l'assistant de contenu
Création de zones à partir de paramètres Avez-vous besoin de créer des zones pour stocker les arguments transmis au constructeur ? Utilisez l'Assistant rapide (Ctrl + 1) sur un paramètre pour créer l'affectation et la déclaration de zone et laisser Eclipse proposer un nom en fonction de vos préférences de style de code.
Assistant rapide Affectation d'un paramètre à une nouvelle zone
Utilisation de l'assistant de contenu pour remplacer une méthode Appelez l'assistant de contenu (Ctrl+Espace) dans le corps du type à l'emplacement où la méthode doit être ajoutée. L'assistant de contenu propose toutes les méthodes qui peuvent être remplacées. Un corps de méthode est créé pour la méthode choisie.

Assistant de contenu Remplacement de méthode

Utilisation du correctif rapide pour ajouter des méthodes non implémentées Pour implémenter une nouvelle interface, ajouter d'abord au type la déclaration 'implements'. Même sans opération de sauvegarde ou de génération, l'éditeur Java souligne le type pour signaler que des méthodes sont manquantes et affiche l'icône en forme d'ampoule électrique du correctif rapide. Cliquez sur l'ampoule ou appuyez sur Ctrl+1 (Editer > Correctif rapide) pour choisir entre ajouter des méthodes non implémentées ou rendre votre classe abstraite.

Correctif rapide offrant une proposition Ajouter des méthodes non implémentées

Remplacement d'une méthode à partir d'une classe de base Pour créer une méthode qui en remplace une autre à partir d'une classe de base, procédez comme suit :
Sélectionnez le type auquel les méthodes doivent être ajoutées et appelez Source > Remplacer/Implémenter des méthodes. Une boîte de dialogue s'ouvre permettant de choisir les méthodes à remplacer.

Boîte de dialogue Remplacer/Implémenter des méthodes

Création d'un type à partir d'un fragment d'exemple
Nouveauté de la version 3.2
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é.
Changement de nom dans un fichierPour effectuer rapidement un changement de nom ne nécessitant pas une analyse complète des dépendances dans d'autres fichiers, utilisez le correctif rapide de changement de nom dans le fichier. Dans l'éditeur Java, placez le curseur dans l'identificateur d'une variable, d'une méthode ou d'un type et appuyez sur Ctrl+1 (Editer > Correctif rapide).
L'éditeur passe en mode d'édition lié (comme les modèles) et le changement d'identificateur modifie simultanément toutes les autres références à la variable, à la méthode ou au type.

Modification de plusieurs identificateurs à l'aide du correctif rapide Changement de nom local

Vous pouvez aussi utiliser le raccourci direct Ctrl+2 R. Utilisez la page de préférences Ouvre la page des préférences des touches Général > Touches pour configurer les raccourcis (dans la catégorie 'Source').
Utilisation du correctif rapide pour traiter les exceptions Le traitement des exceptions lancées est simple. Les exceptions non traitées sont détectées lors de la saisie et soulignées d'une ligne rouge dans l'éditeur.
  • Cliquez sur l'ampoule ou appuyez sur Ctrl+1 pour entourer l'appel d'un bloc try catch. Si vous souhaitez inclure davantage d'instructions dans le bloc try, sélectionnez les instructions, puis Source > Entourer d'un bloc Try/catch. Vous pouvez également sélectionner des instructions individuelles à l'aide de Editer > Développer la sélection vers et en sélectionnant Délimiteur, Suivant ou Précédent.
  • Si l'appel est déjà entouré d'un bloc try, le correctif rapide suggère d'ajouter le bloc catch au bloc existant.
  • Si vous ne souhaitez pas traiter l'exception, laissez le correctif rapide ajouter une nouvelle exception lancée à la déclaration de méthode conteneur.

Propositions de correctif rapide Exception non détectée

Vous pouvez à tout moment convertir un bloc catch en exception lancée. Utilisez Ctrl+1 (Editer > Correctif rapide) sur un bloc catch.

Assistant rapide Remplacement d'une clause catch par une clause throws

Moins de saisie pour les affectations Au lieu de saisir une affectation, commencez par l'expression qui sera assignée.

Assistant rapide Affectation d'une instruction à une variable locale

Appuyez sur Ctrl+1 (Editer > Correctif rapide) et sélectionnez 'Affecter une instruction à la nouvelle variable locale' ; l'assistant vous proposera un nom de variable.
Affectation de l'assistant rapide
Moins de travail avec les expressions de transtypage Ne perdez pas trop de temps avec la saisie des transtypages. Commencez par les ignorer, puis ajoutez-les à l'aide de l'assistant rapide une fois que vous avez terminé l'instruction.

Par exemple, pour les affectations :
Ajout d'un transtypage dans l'affectation
Ou pour les arguments de méthode :
Ajout d'un transtypage pour les arguments de méthode
Ou pour les cibles des appels de méthode :
Ajout d'un transtypage dans les cibles des appels de méthode

Affectation d'une expression transtypée
Après une vérification 'instanceof', il est très courant de transtyper l'expression et de l'affecter à une nouvelle variable locale. Pour éviter des opérations de saisie, appelez l'Assistant rapide (Ctrl+1) dans le mot clé 'instanceof' :
Correctif rapide 'Introduire une nouvelle variable locale avec un type transtypé'
Des assistants rapides supplémentaires
Consultez la page assistant rapide pour obtenir la liste complète des transformations de code disponibles. Dans cette liste figurent notamment les transformations suivantes
  • Inverser les instructions if
  • Convertir 'switch' en 'if-else'
  • Remplacer 'if-else' par un conditionnel
    ...et bien d'autres encore
Pour obtenir une liste des correctifs rapides, cliquez ici.
Raccourcis pour les assistants et les correctifs rapides
Vous pouvez appelez directement certains des assistants rapides les plus utilisés - tels que Renommer dans un fichier et Affecter à Local - via les combinaisons de touches Ctrl+2 R et Ctrl+2 L. Consultez la page de préférences Touches Ouvre la page des préférences Touches Général > Touches pour connaître les correctifs rapides pouvant être appelés directement.

Page de préférences Touches avec raccourcis pour les assistants rapides

Délimitation de lignes Pour entourer les instructions avec une instruction if / while / for ou un bloc, sélectionnez les lignes à entourer et appelez Source > Entourer de ou appuyez sur Alt+Maj+Z.

Assistant rapide Délimitation à l'aide de modèles

Les entrées du menu sont dérivées des modèles normaux de l'éditeur. Tous les modèles contenant la variable ${line_selection} s'affichent dans le menu.

Les modèles peuvent être configurés dans la page des préférences Ouvre la page des préférences des modèles de l'éditeur Java > Editeur > Modèles. Editez les modèles correspondants pour personnaliser le code résultant ou définissez vos propres modèles de délimitation.
Création de vos propres modèles Pour créer vos propres modèles, accédez à la page des préférences Ouvre la page des préférences des modèles de l'éditeur Java > Editeur > Modèles et appuyez sur le bouton Nouveau pour créer un modèle. Par exemple, un modèle permettant de faire une itération en arrière dans un tableau ressemblerait à ce qui suit :

Modèle d'itération arrière

L'assistant de contenu peut insérer des noms d'argument automatiquement L'assistant de contenu peut insérer des noms d'argument automatiquement à la fin de la méthode. Ce comportement peut être personnalisé sur la page des préférences Ouvre la page des préférences de l'assistant de contenu Java > Editeur > Assistant de contenu (voir la case à cocher Compléter les noms d'arguments à la fin de l'opération.) Par exemple, lorsque vous sélectionnez la seconde entrée,

fenêtre de l'assistant de contenu

l'assistant de contenu insère automatiquement des noms d'argument :

noms d'argument insérés à l'aide de l'assistant de contenu

Vous pouvez alors utiliser la touche de tabulation pour naviguer parmi les noms insérés.

L'assistant de contenu peut également deviner les noms d'arguments, en fonction de leurs types déclarés. Cela peut être configuré en sélectionnant la case à cocher Noms d'argument remplis par proposition dans la page des préférences Ouvre la page des préférences de l'assistant de contenu Java > Editeur > Assistant de contenu.

Insertion automatique d'arguments de type
L'activation de l'option Compléter les noms d'arguments à la fin de l'opération dans la page des préférences Ouvre la page des préférences de l'assistant de contenu Java > Editeur > Assistant de contenu est également utile lorsque vous travaillez avec des types paramétrés dans J2SE 5.0.
Assistant de contenu pour un type paramétré
a le résultat suivant :
L'assistant de contenu a deviné et inséré le type d'argument
Suppression d'une instruction de délimitation Pour supprimer une instruction ou un bloc délimiteur, placez le curseur sur la parenthèse ouvrante ou fermante et appuyez sur les touches Ctrl+1 (Editer > Correctif rapide).

Assistant rapide Suppression d'une instruction de délimitation

Correction orthographique Vous pouvez activer la fonction de vérification orthographique dans l'éditeur Java sur la page des préférences Ouvre la page des préférences du correcteur orthographique Général > Editeurs > Editeurs de texte > Correcteur orthographique. Les erreurs d'orthographe sont affichées dans l'éditeur et les correctifs rapides correspondants sont disponibles :

Exemple de suggestion de correction orthographique.

Vous pouvez également activer le dictionnaire pour l'assistant de contenu. Toutefois, aucun dictionnaire n'est actuellement inclus dans Eclipse. Le format requis consiste en une liste de mots séparés par de nouvelles lignes et les correctifs rapides permettent d'ajouter immédiatement de nouveaux termes au dictionnaire. Les contributions de dictionnaire sont acceptées.

Sélections structurées Vous pouvez sélectionner rapidement du code Java en tenant compte de la syntaxe, à l'aide de la fonction de sélection structurée.
Mettez le texte en évidence et appuyez sur les touches Alt+Maj+Flèche haut ou sélectionnez Editer > Développer la sélection vers > Elément délimiteur dans la barre de menus. La sélection est développée jusqu'au plus petit élément de syntaxe Java contenant la sélection. Vous pouvez encore développer la sélection en appelant à nouveau l'action.
Recherche du crochet correspondant Pour trouver un crochet correspondant, sélectionnez un crochet ouvrant ou fermant et appuyez sur les touches Ctrl+Maj+P ou sélectionnez Naviguer > Accéder à > Crochet correspondant. Vous pouvez également cliquer deux fois avant un crochet ouvrant ou après un crochet fermant, pour que le texte figurant entre les deux crochets soit sélectionné.

Utilisation du double clic pour sélectionner du texte entre deux crochets

Smart Javadoc Entrez '/**' et appuyez sur Entrée. Un raccord de commentaire Javadoc contenant les balises standard @param, @return et @exception est automatiquement ajouté.

Résultat de Smart Javadoc

Les modèles du nouveau commentaire peuvent être configurés dans la page des préférences Ouvre la page des préférences des modèles de code Java > Style de code > Modèles de code.
Afficher la source de l'élément sélectionné uniquement Cliquez sur le bouton de la barre d'outils Afficher la source de l'élément sélectionné Afficher la source de l'élément sélectionné pour afficher une vue segmentée de l'unité de compilation. Lorsqu'il est activé, l'éditeur Java affiche uniquement l'élément (par exemple une méthode) sélectionné dans les vues Structure ou Hiérarchie. Lorsqu'il est désactivé, l'éditeur Java affiche la totalité de l'unité de compilation.
Utilisation de l'historique local pour revenir à une édition antérieure de méthode Chaque fois que vous éditez un fichier, son précédent contenu est conservé dans l'historique local. Les outils Java rendent l'historique local disponible pour les éléments Java, ainsi vous pouvez revenir à une précédente édition de la méthode, et pas nécessairement du fichier complet.

Sélectionnez un élément (par exemple la vue Structure) et utilisez Remplacer par > Historique local pour revenir à la précédente édition de l'élément.

Boîte de dialogue Remplacement à partir de l'historique local

Utilisation de l'historique local pour restaurer des méthodes supprimées Chaque fois que vous éditez un fichier, son précédent contenu est conservé dans l'historique local. Les outils Java rendent l'historique local disponible pour les éléments Java, ainsi vous pouvez restaurer les méthodes de manière sélective.

Sélectionnez un conteneur (par exemple dans la vue Structure) et utilisez Restaurer à partir de l'historique local pour restaurer des membres supprimés.

Boîte de dialogue Restauration à partir de l'historique local

Génération de code personnalisable La page des préférences Ouvre la page des préférences des modèles de code Java > Style de code > Modèles de code permet de personnaliser le code générés et les commentaires de la même manière que pour les modèles normaux. Ces modèles de code sont utilisés chaque fois que du code est généré.

page des préférences des modèles de code

Depuis la version 3.1, il est possible de projeter des modèles de code spécifiques qui sont partagés dans l'équipe si votre projet est partagé. Ouvrez les Propriétés du projet afin d'activer les paramètres spécifiques au projet.
Créer des commentaires dans votre code Vous pouvez ajouter des commentaires de façon explicite en cliquant sur Source > Générer un commentaire d'élément (Alt+Maj+J) ou automatiquement via divers assistants, restructurations ou correctifs rapides.
Configurez les modèles de commentaire dans la page des préférences Ouvre la page des préférences des modèles de code Java > Style de code > Modèles de code.
Activez ou désactivez la génération automatique de commentaires, soit directement dans l'assistant (en utilisant par exemple la case à cocher 'Générer un commentaire' dans les nouveaux assistants de type Java), soit via la case à cocher 'Ajouter automatiquement des commentaires pour les nouvelles méthodes et les nouveaux types' de la page des préférences Ouvre la page des préférences Style de code Java > Style de code.
Ces paramètres peuvent également être configurés par projet. Ouvrez les Propriétés du projet afin d'activer les paramètres spécifiques au projet.
Tri des membres Vous pouvez trier les membres d'une unité de compilation Java en fonction de l'ordre défini dans la page des préférences Ouvre la page des préférences d'ordre de tri des membres Java > Apparence > Ordre de tri des membres.
L'action figure sous Source > Trier les membres.
Renvoi des chaînes à la ligne Les littéraux chaînes peuvent passer à la ligne lorsque vous les éditez. Par exemple, si le code est comme suit :
String message= "This is a very long message.";

placez le caret après le mot "very" et appuyez sur Entrée. Le code est automatiquement changé en :

String message= "This is a very" + 
           " long message.";

Vous pouvez personnaliser ce comportement dans la page des préférences Ouvre la page des préférences Saisie Java > Editeur > Saisie.

Saisie avancée et contrôle de cette fonction Les fonctions de saisie avancée de l'éditeur Java facilitent votre travail quotidien. Vous pouvez les configurer dans la page des préférences Ouvre la page des préférences Saisie Java > Editeur > Saisie.

Page des préférences Saisie de l'éditeur Java

Si l'option Insertion automatique des points-virgules à l'emplacement correct est activée, lorsque vous saisissez un point-virgule, le curseur se place automatiquement à la fin de l'instruction avant d'insérer celui-ci. Cela vous évite de déplacer vous-même le curseur.
Vous pouvez annuler automatiquement ce positionnement en appuyant sur la touche de retour arrière juste après.

Correction du retrait du code à l'aide d'une touche La fonction Source > Corriger le retrait ou Ctrl+I est particulièrement utile.
Sélectionnez le code dans lequel le retrait est incorrect et appelez l'action.

Si vous n'avez effectué aucune sélection, l'action corrige le retrait de la ligne en cours.

Menus rapides pour l'action source et l'action de propagation des modifications Vous pouvez accéder à l'action source et à l'action de propagation des modifications via un menu rapide. Sélectionnez l'élément à utiliser dans l'éditeur Java ou dans une vue Java et appuyez sur Alt+Maj+S pour le menu source rapide ou sur Alt+Maj+T pour le menu de restructuration rapide et sur Alt+Maj+Z pour le menu de délimitation.

Menu de propagation des modifications rapide

Recherche de code inutilisé Le compilateur Java détecte un code inaccessible, des variables inutilisées, des paramètres, des importations et des types, des méthodes et des zones privés inutilisés. Ce paramètre se trouve dans la page des préférences Ouvre la page des préférences Erreurs/Avertissement Java > Compilateur > Erreurs/Avertissements (ou il est défini pour un projet individuel à l'aide de l'option Projet > Propriétés > Compilateur Java > Erreurs/Avertissements).

Page des préférences du compilateur

Ces paramètres sont également détectés lors de la saisie, et un correctif rapide propose de supprimer le code inutile.
Traitement des commentaires Javadoc Le compilateur Java d'Eclipse peut traiter les commentaires Javadoc. La recherche signale les références dans les commentaires de la documentation et la propagation des modifications met également à jour ces références. Cette fonction est contrôlée à partir de la page des préférences Ouvre la page des préférences Javadoc Java > Compilateur > Javadoc (ou définie pour un projet à l'aide de l'option Projet > Propriétés > Compilateur Java > Javadoc).

Page des préférences Javadoc

Lorsqu'elle est activée, les commentaires Javadoc dont la syntaxe est incorrecte sont marqués dans l'éditeur Java et peuvent être résolus à l'aide de l'option Edition > Correctif rapide (Ctrl+1) :

Erreurs détectées dans Javadoc

Supprimer les avertissements Dans la version 5.0 de J2SE et les versions supérieures, vous pouvez supprimer tous les avertissements optionnels émis par le compilateur à l'aide de l'annotation SuppressWarnings.
Dans cet exemple, addAll() est signalée comme une méthode non utilisée. Le Correctif rapide (Ctrl+1) est utilisé pour ajouter une annotation SuppressWarnings de façon à ce que l'avertissement ne soit pas affiché pour cette méthode.
Correctif rapide pour ajouter une annotation SuppressWarning
Assistant de nettoyage
Nouveauté de la version 3.2
L'Assistant de nettoyage résout plusieurs problèmes à la fois et permet de définir un style de code.
Par exemple, vous pouvez effectuer les opérations suivantes :
  • convertir toutes les boucles for en boucles for améliorées chaque fois que possible.
  • marquer toutes les méthodes de substitution d'un projet entier avec une annotation @Override.
L'assistant est également pratique pour convertir du code compatible Java 1.4 en code Java 5.0.

Image de l'assistant de nettoyage

Sélectionnez un projet, un package ou un fichier et utilisez Source > Nettoyage... pour démarrer cet assistant.

Restructuration

Scriptage des restructurations
Nouveauté de la version 3.2
La plupart des restructurations de JDT peuvent être non seulement exécutées de façon interactive mais aussi être exécutées par un script de restructuration.

Pour créer un script de restructuration à partir de l'historique de restructuration, utilisez Restructurer > Création d'un script....

Un script de restructuration peut ensuite être appliqué à un espace de travail arbitraire à l'aide de Restructurer > Appliquer le script....

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 les couches logicielles ou la fourniture de correctifs de sémantique riche.
Migration sécurisée des fichiers JAR
Nouveauté de la version 3.2
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.

Utilisez Fichier > Exporter... puis sélectionnez Fichier JAR. Dans la première page de l'assistant d'exportation de fichier JAR, sélectionnez Exporter les restructurations des projets sélectionnés. Cliquez sur le lien pour sélectionner les restructurations à inclure.

Les clients peuvent migrer une ancienne version du fichier JAR vers une nouvelle version à l'aide de la restructuration Restructurer > Migrer le fichier JAR.... 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.

Recherche

Localisation des variables et de leur accès en lecture/écriture Vous pouvez localiser les variables et voir leur état en lecture/écriture en sélectionnant un identificateur (variable, référence ou déclaration de méthode ou de type) et en sélectionnant Recherche > Occurrences dans le fichier. Cette opération marque toutes les références de l'identificateur dans le même fichier. Les résultats s'affichent également dans la vue Recherche, avec des icônes affichant l'accès à la variable en lecture ou en écriture.

Accès en lecture et écriture à une zone

Vous pouvez également utiliser la fonction Marquer les occurrences pour mettre en évidence les occurrences de manière dynamique. La recherche peut s'effectuer sur plusieurs fichiers en utilisant les fonctions de recherche générale (Recherche > Références).

Recherche de méthodes avec un type de retour spécifique Pour rechercher des méthodes avec un type de retour spécifique, utilisez "* <type de retour>" comme suit :
  • Ouvrez la boîte de dialogue de recherche et cliquez sur l'onglet Recherche Java.
  • Tapez '*' et le type de retour, séparés par un espace, dans la chaîne à rechercher.
  • Cochez la case Respect maj/min.
  • Sélectionnez Méthode et Déclarations, puis cliquez sur Rechercher.

Recherche d'une méthode avec le type de retour spécifié

Filtrer les correspondances de recherche dans Javadoc Par défaut, la recherche Java recherche des références dans le code Java et Javadoc. Si vous ne souhaitez pas trouver de références au sein de Javadoc, vous pouvez filtrer ces correspondances en activant l'option 'Filtre Javadoc' dans le menu Afficher (symbole triangulaire) de la vue Recherche
Filtrer les correspondances de recherche potentielles Les correspondances potentielles se produisent lorsqu'un incident pendant le temps de compilation empêche le moteur de recherche de résoudre complètement la correspondance. Filtrez ces correspondances à l'aide de l'option de filtrage sur correspondance potentielle dans le menu Afficher (symbole triangulaire) de la vue Recherche.
Suivi des chaînes d'appel de méthode à l'aide de la hiérarchie d'appels La nouvelle hiérarchie d'appels permet de suivre les chaînes d'appel longues ou complexes sans perdre le contexte d'origine : il vous suffit d'appeler une méthode et d'appeler Naviguer > Ouvrir la hiérarchie d'appels (Ctrl+Alt+H).

Vue Hiérarchie d'appels

Navigation et lecture du code

Ouverture sur une sélection dans l'éditeur Java Un élément peut être ouvert de deux façons à partir d'une référence dans l'éditeur Java.
  • Sélectionnez la référence dans le code et appuyez sur F3 (Naviguer > Ouvrir la déclaration)
  • Maintenez la touche Ctrl enfoncée, placez le pointeur de la souris sur la référence puis cliquez sur le lien hypertexte.
Navigation de style hyperlien
La navigation de style hyperlien peut être configurée avec la case à cocher Prendre en charge la navigation de style hyperlien dans la page des préférences Ouvre la page des préférences Editeurs de texte Général > Editeurs > Editeurs de texte.
Structures en place Appuyez sur les touches Ctrl+F3 dans l'éditeur Java pour afficher une structure en place de l'élément à la position courante du curseur ou appuyez sur les touches Ctrl+O (Naviguer > Structure rapide) pour afficher une structure en place du fichier source courant.

Structure en place

Les structures en place montrent les membres hérités Appuyez de nouveau sur Ctrl+O ou Ctrl+F3 pour ajouter les membres hérités à une structure en place ouverte. Les membres hérités possèdent un libellé gris. Filtrez et triez la structure à l'aide du menu qui se trouve dans le coin supérieur droit.

Vue Structure rapide

Hiérarchie en place Recherchez les destinataires possibles d'un appel virtuel à l'aide de la hiérarchie rapide. Placez le curseur dans l'appel de méthode et appuyez sur Ctrl+T (Naviguer > Hiérarchie rapide). La vue affiche tous les types qui implémentent la méthode avec une icône pleine.

Vue Hiérarchie rapide

Appuyez sur Entrée pour ouvrir la méthode correspondante dans un éditeur. Appuyez de nouveau sur Ctrl+T pour passer à la hiérarchie des supertypes.

Mise en évidence avancée L'éditeur Java peut mettre en évidence le code source en fonction de sa sémantique (par exemple : les zones statiques, les variables locales, les appels de méthode statique). Vous pouvez consulter les différentes options dans la page des préférences Ouvre la page des préférences Couleurs pour la syntaxe Java > Editeur > Couleurs pour la syntaxe.

Exemple de mise en évidence avancée.

Régions initialement réduites Vous pouvez spécifier les régions devant être réduites par défaut lorsqu'un éditeur est ouvert. Pour personnaliser cette fonction, consultez la page des préférences Ouvre page des préférences Réduction Java > Editeur > Réduction.

Page des préférences Réduction

Marquage des occurrences Lorsque vous utilisez l'éditeur, activez l'option Marquer les occurrences dans la barre d'outils (Illustration du bouton Marquer les occurrences de la barre d'outils) ou appuyez sur Alt+Maj+O.
Editeur avec occurrences de balise 'info' marquées
Lorsque vous sélectionnez un type de retour, vous pouvez voir les points de sortie de la méthode. Sélectionnez une exception pour voir où elle est générée.
Editeur avec occurrences de balise 'info' marquées
Sélectionnez une super classe ou une interface pour voir les remplacements de méthodes ou implémentez une méthode à partir du super type sélectionné.
Paramétrez l'option 'marquer les occurrences' dans la page des préférences Ouvre la page des préférences Marquage des occurrences Java > Editeur > Marquage des occurrences.
Changez la couleur du marqueur dans la la page des préférences Ouvre la page des préférences Annotations Général > Editeurs > Editeurs de texte > Annotations.
Passage à la méthode suivante ou précédente Pour naviguer rapidement jusqu'à la méthode ou à la zone suivante ou précédente, utilisez :
Ctrl+Maj+Flèche haut (Naviguer > Accéder à > Membre précédent) ou Ctrl+Maj+Flèche bas (Naviguer > Accéder à > Membre suivant)
Contrôle de la navigation entre les annotations Utilisez les boutons Suivant/Précédent de la barre d'outils Annotation ou sélectionnez Naviguer > Annotation suivante (Ctrl+.) et Navigation > Annotation précédente (Ctrl+,) pour passer d'une annotation à une autre dans un fichier source Java. A l'aide des menus déroulants des boutons, vous pouvez définir les annotations à arrêter :

Menu déroulant des boutons d'annotation Suivant/Précédent.

Rappels dans votre code Java Lorsque vous balisez un commentaire dans du code source Java avec la marque "TODO", le compilateur Java crée automatiquement une tâche correspondante comme aide-mémoire. L'ouverture de la tâche vous ramène à la balise "TODO" figurant dans le code. Utilisez la page des préférences Ouvre la page Balises de tâche Java > Compilateur > Balises de tâche pour configurer d'autres balises spéciales (telle que "FIXME") que vous souhaitez voir apparaître dans la liste des tâches.

Balises de tâche dans l'éditeur et la vue des tâches

Astuces dans la boîte de dialogue Ouverture d'un type
La boîte de dialogue Ouverture d'un type (Naviguer > Ouvrir le type ou bouton de la barre d'outils) vous aide à naviguer jusqu'à un type en fonction de son nom.
  • Pour faire une recherche rapide d'un type, il vous suffit de saisir les majuscules du nom de celui-ci : IOOBE permet de trouver IndexOutOfBoundsException
  • Pour visualiser tous les types se terminant par un suffixe donné, par exemple tous les Tests, tapez *Test< afin de ne pas afficher les types comportant ce suffixe ailleurs qu'à la fin de leur nom.
Boîte de dialogue Ouvrir un type avec correspondance ChatMot
Aides contextuelles fixes Vous pouvez ouvrir le texte d'une aide contextuelle sous forme de fenêtre déroulante en appuyant sur F2 (Editer > Afficher une description de type info-bulle). Vous pouvez sélectionner et copier le contenu de cette fenêtre.

Fenêtre du contenu de l'info-bulle

Aides contextuelles dans l'éditeur Java Vous pouvez afficher les diverses info-bulles de l'éditeur Java à l'aide des touches de modification (Maj, Ctrl, Alt).
Lorsque vous déplacez le pointeur de la souris sur un identificateur dans l'éditeur Java, une aide contextuelle avec le Javadoc extrait de la source correspondante de cet élément s'affiche par défaut. Maintenez la touche Ctrl enfoncée pour voir le code de la source.

Info-bulle affichant le code de l'élément de l'info-bulle

Vous pouvez modifier ce comportement et définir les aides contextuelles pour d'autres touches de modificateur dans la page des préférences Ouvre la page des préférences Info-bulles Java > Editeur > Infobulles.
Signature déduite de méthode générique
Vous pouvez utiliser une info-bulle pour afficher la signature déduite de méthode générique.

Aide contextuelle montrant la signature déduite de méthode générique

Ouverture et configuration de la documentation Javadoc externe Si vous souhaitez ouvrir la documentation Javadoc pour un type, une méthode ou une zone à l'aide de Maj+F2 (Naviguer > Ouvrir le Javadoc externe), vous devez d'abord spécifier les emplacements de la documentation à la bibliothèque parent des éléments (JAR, dossier classe) ou au projet (dossier source).
Pour les bibliothèques, ouvrez la page du chemin de génération (Projet > Propriétés > Chemin de génération Java), accédez aux bibliothèques, développez le noeud de la bibliothèque où vous pouvez éditer le noeud 'Emplacement du Javadoc'. La documentation peut être locale sur votre système de fichiers dans un dossier ou une archive, ou sur un serveur Web.

Configuration de l'emplacement de Javadoc dans la boîte de dialogue du chemin de génération Java

Pour les types, les méthodes ou les zones des dossiers source, accédez à Projet > Propriétés > Emplacement du Javadoc).

Vues Java

Organisation de l'espace de travail avec plusieurs projets Pour activer un nouveau mode affichant les jeux de documents comme des éléments de niveau supérieur, cliquez sur Eléments de niveau supérieur > Jeux de documents dans le menu d'affichage de la vue Packages. Ce mode vous permet de gérer beaucoup plus facilement les espaces de travail comportant de nombreux projets.

Vue Packages dans le mode Jeu de document

Pour déterminer les jeux de documents à afficher, utilisez la fonction Configuration de jeux de documents du menu d'affichage de la vue Packages. Cette boîte de dialogue vous permet de créer de nouveaux jeux de documents Java, de déterminer lesquels doivent être affichés et dans quel ordre. Les jeux de documents peuvent également être réorganisés directement dans la vue Packages à l'aide des fonctions glisser-déposer et copier-coller.

Vue Déclaration La vue Déclaration ( Ouvre la vue Déclaration Java Fenêtre > Afficher la vue > Autre... > Java > Déclaration) affiche la source de l'élément sélectionné dans l'éditeur Java ou dans une vue Java.

Vue Déclaration

Vue Javadoc Il existe une vue Javadoc ( Ouvre la vue Javadoc Fenêtre > Afficher la vue > Autre... > Java > Javadoc) qui affiche la documentation Javadoc de l'élément sélectionné dans l'éditeur Java ou dans une vue Java. La vue Javadoc utilise le widget de navigateur SWT pour afficher du code HTML sur les plates-formes qui le prennent en charge.

Vue Javadoc

Vue Hiérarchie des types et implémentations / définitions de méthodes Pour savoir quels types d'une hiérarchie remplacent une méthode, utilisez la fonction 'Afficher les membres de la hiérarchie'.
  • Sélectionnez la méthode à rechercher et appuyez sur F4 (Naviguer > Ouvrir la hiérarchie des types). Cette opération ouvre la vue Hiérarchie des types sur le type de déclaration de la méthode.
  • La méthode étant sélectionnée dans la vue Hiérarchie, cliquez sur le bouton de la barre d'outils 'Verrouiller la vue et afficher les membres de la hiérarchie'.
  • La vue Hiérarchie n'affiche plus que les types qui implémentent ou définissent la méthode 'locked'. Par exemple, vous pouvez voir que isEmpty() est défini dans Liste et implémenté dans ArrayList et Vector, mais pas dans AbstractList.

Verrouillage de la vue et affichage des membres dans la hiérarchie

La vue Hiérarchie des types prend en charge le regroupement par type de définition La vue Méthodes de la hiérarchie des types permet de trier les méthodes du type sélectionné par ses types de définition. Par exemple, pour AbstractList, vous pouvez voir qu'il contient des méthodes définies dans Objet, Collection et Liste :

Tri des membres par type de définition dans la hiérarchie des types

Astuces dans la hiérarchies des types
  • Mettez en évidence la hiérarchie des types sur un nouveau type en appuyant sur F4 (Naviguer > Ouvrir la hiérarchie des types) sur un élément ou un nom sélectionné.
  • Vous pouvez ouvrir la vue Hiérarchie non seulement pour afficher les types mais également pour afficher les packages, les dossiers source, les archives JAR et les projets Java.
  • Vous pouvez faire glisser et déplacer un élément dans la vue Hiérarchie pour qu'il soit mis en évidence.
  • Vous pouvez modifier l'orientation qui par défaut est verticale et passer à une orientation horizontale de la vue Hiérarchie à l'aide du menu de la barre d'outils de la vue.
Comparaison structurelle de la source Java Une comparaison structurelle d'une source Java ignore l'ordre textuel des éléments Java, tels que les méthodes et les zones et affiche plus clairement quels éléments ont été modifiés, ajoutés ou supprimés.
Pour initialiser une comparaison structurelle de fichiers Java, vous avez deux options :
  • Sélectionnez deux unités de compilation Java et sélectionnez Comparer à > Réciproquement dans le menu contextuel de la vue. Si les fichiers comportent des différences, ils sont ouverts dans un éditeur de comparaison. La sous-fenêtre supérieure affiche les éléments Java différents. Si vous cliquez deux fois sur l'un d'eux, la source de l'élément apparaît dans la sous-fenêtre inférieure.
  • Dans un contexte où une comparaison de fichier est impliquée (une synchronisation CVS par exemple), un double clic sur un fichier Java affiche non seulement le contenu du fichier dans un afficheur de comparaison de texte, mais il effectue également une comparaison structurelle et ouvre une nouvelle sous-fenêtre affichant les résultats.

Comparaison structurelle d'une source Java

Vous pouvez même ignorer les commentaires et les changements de formatage lors de la comparaison structurelle. Pour ce faire, activez l'option Ignorer les espaces à l'aide du bouton de la barre d'outils de l'éditeur de comparaison ou du menu déroulant de la vue Synchronisation CVS.
Comparaison structurelle des fichiers de propriétés Une comparaison structurelle de fichiers de propriétés Java (extension .properties) ignore l'ordre textuel des propriétés et affiche quelles propriétés ont été modifiées, ajoutées ou supprimées.
Pour initialiser une comparaison structurelle de fichiers de propriétés, vous avez deux options :
  • Choisissez deux fichiers dans la vue Packages ou Navigateur et sélectionnez Comparer à > Réciproquement dans le menu contextuel de la vue.
  • Dans un contexte où une comparaison de fichier est impliquée (une synchronisation CVS par exemple), un double clic sur un fichier de propriétés affiche non seulement le contenu du fichier dans un afficheur de comparaison de texte, mais il effectue également une comparaison structurelle et ouvre une nouvelle sous-fenêtre affichant les résultats.

Comparaison structurelle des fichiers de propriétés

Structure de packages hiérarchique comparée à une présentation à plat Une option du menu Afficher de la vue Packages Java (et de la vue Packages) permet de modifier la façon dont les packages sont affichés. L'option Présentation du package > Hiérarchique affiche les packages sous forme d'arborescence, avec des sous-packages sous les packages. L'option Présentation du package > A plat les affiche de manière standard, sous forme de liste à plat avec tous les packages et les sous-packages apparentés.
Présentation de packages à plat Présentation de package hiérarchique
Packages logiques La vue Packages Java (perspective Navigation Java) regroupe les packages de même nom parmi les dossiers source d'un projet. La capture d'écran représente la vue Packages contenant un package logique.

Perspective de navigation Java contenant un package logique

Compression des noms de package Si vos noms de package sont très longs, vous pouvez configurer un nom compressé qui apparaît dans les afficheurs. La configuration du schéma de compression s'effectue dans la page des préférences Ouvre la page des préférences Apparence Java > Apparence.

Configuration du schéma de compression dans la page des préférences de l'aspect de Java

A l'aide de cet exemple, les packages sont rendus de la façon suivante :

Noms de package compressés

Manipulation du chemin de génération Java directement à partir de la vue Packages Au lieu de manipuler le chemin de génération Java via Projet > Propriétés > Chemin de génération Java, vous pouvez utiliser les actions du menu contextuel de la vue Packages.
Par exemple, il est possible d'ajouter de nouveaux dossiers, archives et bibliothèques source au chemin de génération ou d'inclure/exclure des fichiers et dossiers d'un dossier source.

Menu contextuel du chemin de génération

Regroupement des problèmes Java
Nouveauté de la version 3.2
Configurez la vue Erreurs pour regrouper les erreurs Java par catégories en sélectionnant Regrouper par > Type d'erreur Java dans le menu Afficher.

image de la vue Erreurs avec les erreurs regroupées

Vous pouvez vérifier si une erreur configurable est considérée comme une erreur bloquantes dans la page de préférences Ouvre la page de préférences Génération Java > Compilateur > Génération.
Indicateur de type Java
Nouveauté de la version 3.2
Active l'Indicateur de type Java dans la page de préférence Ouvre la page de préférences Décorations d'intitulés Général > Apparence > Décorations d'intitulés pour savoir quel est le premier type dans une unité de compilation ou d'un fichier de classe. Une décoration s'affiche pour les interfaces, les annotations et les énumérations tandis qu'une classe ordinaire ne comporte pas de décoration.

Image de décorateur d'intitulé d'indicateur de type Java

Divers

Préférences spécifiques au projet Toutes les options du compilateur et du style de code peuvent être définies par projet.
Ouvrez la page des propriétés du projet en cliquant sur Projet > Propriétés dans un projet ou via le lien dans les préférences de l'espace de travail (par exemple, la page de préférences Ouvre la page de préférences Style de code Java > Style de code).

Page des propriétés du projet avec case à cocher 'Activer les paramètres propres au projet'

Les paramètres spécifiques au projet sont stockés dans un fichier de configuration à l'intérieur du projet (dans le répertoire 'Paramètres'). Lorsque vous partagez un projet dans une équipe, les membres reçoivent également ces paramètres spécifiques au projet.
Règles d'accès
La fonction Règles d'accès vous donne la possibilité de renforcer les règles API pour les types des bibliothèques référencées. Dans la page du chemin de génération Java (Projet > Propriétés > Chemin de génération Java), modifiez le noeud 'Règles d'accès' disponible sur les projets, archives, bibliothèques et dossiers de classes référencés.
Vous pouvez classer les packages ou les types de ces références dans les catégories suivantes :
  • Accessible
  • Déconseillé
  • Interdit
Selon les paramètres configurés dans la page des préférences Ouvre la page des préférences Erreurs/Avertissements Java > Compilateur > Erreurs/Avertissements, le compilateur signalera les références déconseillées et interdites par des avertissements ou des erreurs.

Boîte de dialogue Configuration des règles d'accès

JUnit Choisissez une méthode test JUnit et sélectionnez Exécuter > Test JUnit Test dans le menu contextuel ou Exécuter > Exécuter en tant que > Test JUnit dans le menu principal. Une configuration de lancement est alors créée pour exécuter le test sélectionné.
Masquage de la vue JUnit jusqu'à ce que des erreurs ou des incidents se produisent Vous pouvez configurer la vue JUnit pour qu'elle ne s'ouvre que lorsque des erreurs ou des incidents se produisent. De cette façon, la vue peut être définie comme vue rapide et ne jamais la regarder lorsqu'aucun test n'est défaillant. S'il n'y a pas d'erreur dans vos tests, l'icône Exécution en cours (le nombre de petits carrés verts augmente, indiquant la progression) s'affiche pendant leur exécution et l'icône Exécution terminée s'affiche une fois qu'ils sont terminés. Si cependant, des erreurs ou des incidents se produisent, l'icône se transforme en Un incident ou une erreur s'est produit (ou Exécution terminée avec incident ou erreur si les tests sont terminés) et la vue JUnit s'affiche.
Assistant de contenu dans les zones de boîte de dialogue L'assistant de contenu (Ctrl+Espace) est maintenant également disponible dans les zones d'entrée des diverses boîtes de dialogue Java. Recherchez les petites icônes en forme d'ampoule électrique en regard de la zone lorsque cette dernière est mise en évidence.

Boîte de dialogue Nouvelle classe

Positionnement intelligent du caret dans les boîtes de dialogue affichant des noms Java
Nouveauté de la version 3.2
Les zones de texte permettant d'éditer des noms Java prennent en charge le positionnement intelligent du caret. Utilisez Ctrl+Gauche et Ctrl+Droit pour vous arrêter aux frontières en casse ChatMot à l'intérieur d'un nom. Utilisez Ctrl+Maj+Gauche et Ctrl+Maj+Droit pour étendre la sélection petit à petit. Utilisez Ctrl+Suppr pour supprimer la partie suivante d'un nom et Ctrl+Retour arrière pour supprimer la partie précédente.

Positionnement intelligent du caret dans les boîtes de dialogue
Ctrl+Droit :
Positionnement intelligent du caret dans les boîtes de dialogue
Ctrl+Maj+Droit :
Positionnement intelligent du caret dans les boîtes de dialogue
écrire "Equal" :
Positionnement intelligent du caret dans les boîtes de dialogue
Ctrl+Suppr :
Positionnement intelligent du caret dans les boîtes de dialogue
écrire "To" :
Positionnement intelligent du caret dans les boîtes de dialogue
Définition de préfixes ou de suffixes pour les zones, les paramètres et les variables locales Vous pouvez configurer le préfixe ou le suffixe des zones, des zones statiques, des paramètres et des variables locales. Ces paramètres de la page des préférences Ouvre la page des préférences Style de code Java > Style de code sont utilisés par l'assistant de contenu, le correctif rapide et la restructuration chaque fois qu'un nom de variable est calculé.

Conventions de nom dans la page de préférences Style de code

L'organisation des importations ne fonctionne pas que sur des fichiers simples Vous pouvez appeler Source > Organiser les importations sur des ensembles d'unités de compilation, des packages, des dossiers source ou des projets Java.
Formatage de plusieurs fichiers Sélectionnez tous les fichiers Java à formater et choisissez Source > Format pour les formater tous. L'action de formatage est également disponible pour les packages, les dossiers source et les projets Java.
Utilisation d'un JRE spécifique pour un projet Lors de la création de projets, l'environnement JRE ajouté par défaut est celui sélectionné dans la page des préférences Ouvre la page des préférences JRE installéso Java > JRE installés. Pour définir un JRE spécifique à un projet, ouvrez la page des propriétés du chemin de génération Java du projet (Projet > Propriétés > Chemin de génération Java), puis la page Bibliothèques, sélectionnez "Bibliothèque système JRE" et cliquez sur Editer. Dans la boîte de dialogue 'Edition d'une bibliothèque', vous pouvez sélectionner le JRE par défaut, ou un JRE spécifique à un projet ou un environnement d'exécution pour les ajouter aux nouveaux projets.

Edition d'une bibliothèque système JRE

Utilisation de la fonction glisser-déposer La fonction glisser-déposer remplace avantageusement Edition > Couper et Edition > Coller, pour les fonctions Edition > Copier et Edition > Coller, respectivement. Maintenez enfoncée la touche Ctrl pendant le glissement pour passer de la fonction déplacer à la fonction copier.

Important à savoir :

  • Si vous déplacez des unités de compilation Java entre des packages à l'aide de la fonction glisser-déplacer, l'opération équivaut à un déplacement de restructuration ; toutes les importations manquantes sont ajoutées et les références mises à jour.
  • Si vous glissez-déposer des éléments source tels que les types ou les méthodes, le code source correspondant est simplement copié ou déplacé, et aucune référence n'est mise à jour.
Propagation d'une balise d'élément déconseillé Le compilateur Java peut être configuré pour diagnostiquer les éléments déconseillés à l'aide des options de la page des préférences Ouvre la page des préférences Erreurs/Avertissements Java > Compilateur > Erreurs/Avertissements.

Page des préférences du compilateur

A partir de cette configuration, le résultat est le suivant :

I.java

X.java

Y.java

Si vous ne parvenez pas à corriger une syntaxe de construction déconseillée, balisez comme déconseillé la méthode, la zone ou le type dans lequel elle se trouve. Vous montrez ainsi que vous avez remplacé une construction déconseillée et l'indicateur correspondant est propagé aux autres dépendants.

X.java

Y.java

Restauration suite à des incohérences Dans le cas assez rare d'un dysfonctionnement, JDT peut révéler certaines incohérences :
  • résultats manquants dans une recherche Java ou un type ouvert ;
  • éléments non valides dans la vue Packages.

Pour éliminer ces incohérences dans JDT, effectuez les actions suivantes, en respectant l'ordre indiqué :
  1. Fermez tous les projets à l'aide de l'option de menu Fermer le projet du navigateur
  2. Quitter Eclipse et redémarrez-le
  3. Ouvrez tous les projets à l'aide de l'option de menu Ouvrir le projet du navigateur
  4. Déclenchez manuellement une génération totale de l'intégralité de l'espace de travail (Projet > Nettoyer)

Débogage

Lancement à partir du menu contextuel

Vous pouvez exécuter et déboguer les applications Java à partir du menu contextuel. Vous pouvez lancer un fichier source, un package, une méthode, un type, etc., en choisissant Exécuter en tant que (ou Déboguer en tant que) > Application Java dans le menu contextuel d'une vue ou d'un éditeur. Sinon, vous pouvez utiliser le raccourci de lancement des applications Java ((Alt+Maj+D, J)). Les actions de niveau supérieur Exécuter en tant que (ou Déboguer en tant que) sont également sensibles à l'éditeur actif ou à la sélection en cours.

Menu contextuel avec option de lancement

Evaluations dans le débogueur

L'évaluation des fragments de code est disponible à partir de divers endroits du débogueur. Si vous choisissez Affichage ou Inspection dans le menu contextuel de l'éditeur ou de la vue Variables, le résultat sera affiché dans un menu en incrustation dont le résultat pourra être envoyé à la vue Affichage ou Expressions.

Résultat d'une inspection dans un menu en incrustation

Gestion des vues dans les perspectives autres que celles de débogage

La vue Débogage gère automatiquement les vues liées au débogage en fonction de la vue sélectionnée (par exemple, affichage des vues Java pour les cadres de pile Java et des vues C pour les cadres de pile C). Par défaut, cette gestion automatique des vues n'intervient que dans la perspective Débogage, mais vous pouvez l'activer pour d'autres perspectives via la page des préférences Gestion des vues disponible à partir du menu déroulant Vue Débogage de la barre d'outils.

Variables d'environnement

Vous pouvez spécifier l'environnement utilisé pour lancer les applications Java via l'onglet Environnement.

Onglet Environnement de la boîte de dialogue de configuration du lancement

Substitutions de chaîne

Les variables sont prises en charge pour de nombreux paramètres des configurations de lancement des applications Java. Un bouton Variables est placé en regard de la plupart des zones prenant en charge les variables (c'est le cas des zones Programme et Arguments VM, par exemple). La zone Type Main prend également en charge les variables ; la variable ${nom_type_java} permet de créer une configuration qui exécutera le type sélectionné.

Onglet Arguments dans la boîte de dialogue Configuration de lancement

Structures logiques

L'action Structures logiques de la barre d'outils de la vue Variables présente d'autres structures pour les types standard. JDT fournit des vues logiques pour les mappes, les collections et les éléments composite SWT. Vous pouvez définir des structures logiques pour d'autres types à partir de la page de préférences Structures logiques.

Vecteur affiché comme structure logique dans la vue des variables

Arguments VM par défaut

Si vous spécifiez souvent les mêmes arguments pour une machine VM donnée, vous pouvez configurer Arguments VM par défaut dans la page des préférences JRE installés. Cela est plus pratique que de les spécifier pour chaque configuration de lancement.

Page des préférences JRE avec argument par défaut spécifié

Arrêt dans main

Vous pouvez utiliser l'option Arrêter dans main dans une configuration de lancement d'application Java afin que le programme s'arrête à la première ligne exécutable de la méthode main lorsque vous l'exécutez en mode débogage.

Onglet Main avec l'option S'arrêter sur main() sélectionnée

Points d'arrêt conditionnels Vous pouvez utiliser des points d'arrêt conditionnels dans Propriétés du point d'arrêt pour contrôler le moment où un point d'arrêt met réellement fin à l'exécution. Vous pouvez indiquer si vous souhaitez que le point d'arrêt suspende l'exécution uniquement si la condition est vérifiée (true) ou si la valeur de la condition change.

Editeur de condition du point d'arrêt dans la boîte de dialogue Propriétés du point d'arrêt

Désactivation de points d'arrêt

S'il s'avère que vous ajoutez et supprimez fréquemment un point d'arrêt au même endroit, désactivez le point d'arrêt lorsque vous n'en avez plus besoin et réactivez-le lorsque vous en avez à nouveau besoin. Pour cela, vous pouvez utiliser l'option Désactiver le point d'arrêt du menu contextuel du point d'arrêt ou désélectionner le point d'arrêt dans la vue Points d'arrêt.

Vous pouvez également désactiver temporairement tous les points d'arrêt à l'aide de l'action Ignorer tous les points d'arrêt de la barre d'outils de la vue Points d'arrêt. Le débogueur ignore alors tous les points d'arrêt en conservant leur état actuel activé.

Action Désactiver le point d'arrêt du menu contextuel de la règle

Changement des valeurs de variable

Lorsqu'une unité d'exécution est interrompue dans le débogueur, vous pouvez modifier les valeurs des primitives Java et des chaînes de la vue Variables. Dans le menu contextuel de la variable, sélectionnez Modifier la valeur de la variable. Vous pouvez également modifier la valeur en en entrant une nouvelle dans la sous-fenêtre Détails et en utilisant l'action Affecter une valeur du menu contextuel (combinaison de touches CTRL+S).

Modification de la valeur des variables à partir de la sous-fenêtre Détails

Valeurs de la variable dans l'aide contextuelle Lorsqu'une unité d'exécution est interrompue et que vous placez le curseur sur une variable dans l'éditeur Java, la valeur de cette variable s'affiche sous forme d'info-bulle.

Aide contextuelle des valeurs de variable dans l'éditeur

Passage au cadre

Lors de l'exécution du code pas à pas, il peut arriver que vous alliez trop loin ou que vous ignoriez une ligne dans laquelle vous aviez l'intention d'entrer. Plutôt que de redémarrer votre session de débogage, vous pouvez utiliser l'action Passer au cadre pour rapidement revenir au début d'une méthode. Sélectionnez le cadre de pile correspondant à la méthode Java que vous souhaitez redémarrer et sélectionnez Passer au cadre dans la barre d'outils de la vue Débogage ou dans le menu contextuel du cadre de pile. Le pointeur de l'instruction courante est réinitialisé sur la première instruction exécutable de la méthode. Cela fonctionne également pour les piles de cadre inférieures.

Notez que l'action Passer au cadre est disponible uniquement lors du débogage avec une VM version 1.4 ou supérieure ou avec la VM J9. Dans certains cas, il se peut qu'une machine JVM ne parvienne pas à extraire les cadres désirés de la pile. Par exemple, il est généralement impossible de passer au cadre inférieur de la pile ou à tout cadre situé sous la méthode native.

Remplacement de code à chaud Le débogueur prend en charge la fonction de remplacement du code à chaud lors du débogage avec une VM version 1.4 ou supérieure ou la VM J9. Ceci vous permet d'effectuer des modifications dans le code en cours de débogage. Notez que certaines modifications, telles que des méthodes nouvelles ou supprimées, des variables de classe ou des classes internes ne peuvent pas être remplacés à chaud, suivant le type de support fourni par une machine VM donnée.
Avance d'un pas avec entrée dans les sélections

Le débogueur Java permet d'avancer d'un pas avec entrée dans une seule méthode au sein d'une série d'appels de méthode chaînés ou imbriqués. Mettez simplement en évidence la méthode dans laquelle vous souhaitez avancer d'un pas avec entrée et sélectionnez Avancer d'un pas avec entrée dans la sélection dans le menu contextuel de l'éditeur Java.

Cette fonction est utilisable ailleurs qu'à la ligne actuellement exécutée. Essayez d'effectuer un débogage jusqu'à un point d'arrêt et d'avancer pas à pas dans une méthode, quelques lignes en dessous du pointeur d'instruction actuel.

Avancer dans la sélection

Fixation et arrêt du défilement de la console La sortie affichée dans la console peut être verrouillée sur un processus spécifique à l'aide de l'action Fixer la console de la barre d'outils de la vue Console. Une action Arrêt défil empêche également la console de défiler lorsqu'une nouvelle sortie est ajoutée.
Création d'éléments de contrôle Un élément de contrôle est une expression dans la vue Expressions dont la valeur est mise à jour lors du débogage. Vous pouvez créer des éléments de contrôle à partir de l'éditeur Java en sélectionnant une expression ou une variable et en choisissant Contrôle dans son menu contextuel ou le menu supérieur Exécution.
Points de contrôle

Un point de contrôle est un point d'arrêt qui interrompt l'exécution chaque fois qu'une zone spécifiée est accédée ou modifiée. Pour définir un point de contrôle, sélectionnez une zone dans la vue Structure et choisissez Ajouter/Supprimer un point de contrôle dans son menu contextuel. Pour configurer un point de contrôle, sélectionnez-le dans la vue Points d'arrêt et choisissez Propriétés dans son menu contextuel. Les propriétés les plus importantes pour ce type de point d'arrêt sont les cases à cocher Accès et Modification qui contrôlent le moment où le point d'arrêt peut interrompre l'exécution.

Boîte de dialogue des propriétés de point d'arrêt

Unités d'exécution et moniteurs

Le débogueur Java peut afficher les informations du moniteur dans la vue Débogage. L'action Afficher les moniteurs du menu déroulant de la vue Débogage vous permet d'afficher les unités d'exécution détenant des verrous ainsi que celles attendant d'en acquérir. Les unités d'exécution bloquées sont signalées en rouge.

Vue Débogage montrant les cycles de blocage

Filtres de progression Ces filtres empêchent le débogueur de s'interrompre dans certaines classes et packages lors de l'avance d'un pas avec entrée dans le code. Les filtres de progression sont établis avec la page des préférences Ouvre la page des préférences Filtrage de progression Java > Déboguer > Filtrage de progression. Lorsque l'option Utiliser les filtres de progression est activée (dans le menu et la barre d'outils de débogage), les filtres de progression sont appliqués à toutes les actions de progression. Dans la vue Débogage, le package ou le type de déclaration du cadre de pile sélectionné peut être rapidement ajouté à la liste des filtres en sélectionnant Filtrer les types ou Filtrer les packages dans le menu contextuel du cadre de pile.
Utilisation du testeur de code

Si vous souhaitez expérimenter l'API ou tester un nouvel algorithme, il est souvent plus facile d'utiliser une page de testeur de code Java que de créer une classe. Une page de testeur de code est un conteneur pour les fragments de code aléatoires que vous pouvez exécuter à tout moment sans contexte. Pour créer une page de testeur de code, créez un fichier avec l'extension .jpage (ou utilisez l'assistant Ouvre l'assistant Nouvelle page de testeur de code Nouvelle page de testeur de code). Entrez le code à exécuter, puis sélectionnez-le. Il existe trois façons d'exécuter le code :

  • Exécutez le code sélectionné et placez le résultat retourné dans un fenêtre contextuelle d'inspection.
  • Exécutez le code sélectionné et placez la chaîne résultante dans la page du testeur de code.

    Page de testeur de code affichant le résultat

  • Exécutez le code sélectionné (et ignorez tout résultat retourné).

Ces actions se trouvent dans la barre d'outils du plan de travail et également dans le menu contextuel de la page du testeur de code.

Edition
de configuration
de lancement
Maintenez enfoncée la touche Ctrl et sélectionnez Exécuter ou Déboguer dans le menu déroulant pour ouvrir la configuration de lancement associée pour l'édition. La configuration de lancement peut être également ouverte à partir du menu contextuel associé à un élément de la vue Débogage.
Configurations de lancement préférées

Les configurations de lancement apparaissent dans les menus déroulants Exécution/Débogage dans l'ordre lancé le plus récemment. Cependant, il est possible de forcer une configuration de lancement à toujours apparaître sur le dessus des menus déroulants en l'ajoutant aux favoris. L'action Organiser les favoris du menu déroulant approprié permet de configurer vos configurations de lancement favorites.

Modules de formatage des détails

Dans les vues Variables & Expressions, la sous-fenêtre de détails affiche une représentation développée de la variable sélectionnée. Par défaut, cette représentation développée est le résultat de l'appel de toString() sur l'objet sélectionné, mais vous pouvez créer un module de formatage des détails personnalisé qui sera utilisé à la place, en sélectionnant Nouveau module de formatage des détails dans le menu contextuel de la variable. Ce module de formatage des détails sera utilisé pour tous les objets du même type. Vous pouvez visualiser et modifier tous les modules de formatage des détails dans la page des préférences Ouvre la page des préférences Modules de formatage des détails Java > Déboguer > Modules de formatage des détails.

Boîte de dialogue Modules de formatage des détails

Exécution du code avec des erreurs de compilation

Vous pouvez exécuter et déboguer du code qui ne s'est pas compilé correctement. La seule différence entre l'exécution de code avec et sans erreur de compilation est que si une ligne de code comportant une erreur de compilation est exécutée, vous pouvez vous trouver dans l'un des deux cas suivants :

  • Si la préférence 'Suspendre l'exécution en cas d'erreur de compilation' est sélectionnée dans la page des préférences Ouvre page des préférences Déboguer Java > Déboguer et que vous êtes en cours de débogage, la session de débogage sera interrompue comme si un point d'arrêt était atteint. Notez que si votre machine virtuelle prend en charge le remplacement de code à chaud, vous pouvez alors corriger l'erreur de compilation et reprendre le débogage.
  • Sinon, l'exécution prend fin avec une erreur de compilation non résolue.

Il est important d'insister que le fait que tant que le chemin d'exécution évite les lignes de code comportant des erreurs de compilation, vous pouvez procéder à l'exécution et au débogage normalement.

Renvoi à la ligne dans la vue Variables La zone de détails des vues Variables et Expressions du débogueur prend en charge la fonction de renvoi à la ligne, disponible à partir du menu déroulant de la vue.

Action de renvoi à la ligne des mots dans le menu déroulant de la vue Variables

Assistant de code dans le débogueur

L'assistant de code est disponible dans de nombreux contextes, au delà de l'écriture de code dans l'éditeur Java :

  • Lors de la saisie d'une condition de point d'arrêt
  • Dans la sous-fenêtre Détails de la vue Variables & Expressions
  • Lors de la saisie d'un fragment de code du Module de formatage des détails
  • Lors de la saisie d'un fragment de code d'une Structure logique
  • Lors de la saisie de code dans une page du Testeur de code
  • Dans la vue Affichage
Détails de la ligne de commande Vous pouvez toujours voir la ligne de commande exacte utilisée pour lancer un programme en mode d'exécution ou débogage en sélectionnant Propriétés dans le menu contextuel d'un processus ou d'une cible de débogage, même si le lancement est terminé.

Détails de la ligne de commande

Hyperliens de
trace de pile

Les traces de pile Java de la console apparaissent sous forme d'hyperliens. Lorsque vous placez le pointeur de la souris sur une ligne de trace de pile, le pointeur se transforme en main. Cliquez sur le bouton de la souris pour ouvrir le fichier source Java associé et placez le curseur sur la ligne correspondante. Si vous cliquez sur le nom de l'exception qui se trouve au sommet de la trace de pile, un point d'arrêt d'exception est créé.

Traces de pile dans la vue Console avec hyperliens