Options de l'API principale de JDT

Les options de l'API principale de JDT contrôlent le comportement des fonctions principales, telles que le compilateur Java, le module de formatage de code, l'assistant de code et d'autres comportements principaux. Les API permettant d'accéder aux options sont définies dans JavaCore.  L'accès aux options peut être réalisé comme s'il s'agissait d'un groupe :

L'accès aux options peut être également réalisé individuellement à l'aide d'un nom de chaîne.

Les options sont stockées en tant que table de hachage de toutes les options configurables connues et de leurs valeurs. Des constantes auxiliaires ont été définies sur JavaCore pour chaque ID d'option et ses valeurs constantes possibles.

Le fragment de code suivant restaure les valeurs par défaut de toutes les options principales, excepté une (COMPILER_PB_DEPRECATION) qui est définie de manière spécifique.

   // Obtenir les options courantes
   Hashtable options = JavaCore.getDefaultOptions();
   
   // Modifier la valeur d'une option
   options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
   
   // Définir les nouvelles options
   JavaCore.setOptions(options);
Le fragment de code suivant conserve la valeur des options courantes et n'en modifie qu'une (COMPILER_PB_DEPRECATION) :
   // Obtenir les options courantes
   Hashtable options = JavaCore.getOptions();
   
   // Modifier la valeur d'une option
   options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
   
   // Définir les nouvelles options
   JavaCore.setOptions(options);

Options spécifiques au projet

Les valeurs des options peuvent être remplacées par projet à l'aide du protocole de IJavaProject.

Le fragment de code suivant extrait la valeur d'une option (COMPILER_PB_DEPRECATION) pour un projet spécifique de deux manières différentes. Le paramètre booléen contrôle si seules les options spécifiques au projet doivent être renvoyées dans une requête ou si les valeurs des options du projet doivent être fusionnées avec celles contenues dans JavaCore.

   // Obtention du projet
   IJavaProject project = ...;

   // Vérifier si la valeur d'une option a été définie dans ce projet
   String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, false);
   if (value == null) {
     // aucune option spécifique n'a été définie sur le projet
     ...
   }
   
   // Obtention de la valeur d'une option à partir de ce projet. Utiliser la valeur de
   // JavaCore si aucune valeur n'est spécifiée pour le projet
   String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, true);

Description des options de l'API principale (core) de JDT

Les tableaux suivants décrivent les options disponibles de l'API principale de JDT. L'ID d'option est indiqué entre parenthèses et la valeur par défaut figure en caractères gras italiques.

Catégories d'options

Options de compilation

Description Valeurs
Génération de l'attribut de débogage des variables locales (COMPILER_LOCAL_VARIABLE_ATTR)
La génération de cet attribut permet d'afficher les noms des variables locales dans le débogueur, uniquement aux emplacements auxquels des variables sont définitivement affectées (le fichier .class est alors plus volumineux) GENERATE
DO_NOT_GENERATE
Génération de l'attribut de débogage des numéros de ligne (COMPILER_LINE_NUMBER_ATTR)
La génération de cet attribut permet de mettre en évidence le code source dans le débogueur (le fichier .class est alors plus volumineux). GENERATE
DO_NOT_GENERATE
Génération de l'attribut de débogage du source (COMPILER_SOURCE_FILE_ATTR)
La génération de cet attribut permet au débogueur de présenter le code source correspondant. GENERATE
DO_NOT_GENERATE
Conservation des variables locales inutilisées (COMPILER_CODEGEN_UNUSED_LOCAL)
Si vous n'activez pas cette option, le compilateur supprime les variables locales non utilisées (c'est-à-dire jamais lues), ce qui risque de nuire au débogage. PRESERVE
OPTIMIZE_OUT
Définition d'une plateforme Java cible (COMPILER_CODEGEN_TARGET_PLATFORM)
Pour des motifs de compatibilité binaire, les fichiers .class peuvent être référencés avec certaines versions de machines virtuelles et ultérieures. Notez que la cible "1.4" nécessite également de passer au mode de conformité "1.4". VERSION_1_1
VERSION_1_2
VERSION_1_3
VERSION_1_4
Signalement d'un code inaccessible (COMPILER_PB_UNREACHABLE_CODE)
Un code inaccessible peut être éventuellement signalé comme une erreur, un avertissement ou peut être tout simplement ignoré. La génération de bytecode éliminera toujours cette erreur. ERROR
WARNING
IGNORE
Signalement d'une instruction d'importation incorrecte (COMPILER_PB_INVALID_IMPORT)
Une instruction d'importation qui ne peut pas être résolue peut éventuellement être signalée comme une erreur, un avertissement ou peut être ignorée. ERROR
WARNING
IGNORE
Signalement d'une tentative de remplacement d'une méthode package-default (COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD)
Une méthode par défaut de package n'est pas visible dans un package différent et ne peut donc pas être remplacée. Lorsque cette option est activée, le compilateur signale ce scénario comme une erreur ou un avertissement. ERROR
WARNING
IGNORE
Signalement d'une méthode contenant un nom de constructeur (COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME)
Le fait d'insérer un nom de constructeur dans une méthode est considéré habituellement comme mauvais. Lorsque cette option est activée, le compilateur signale ce scénario comme une erreur ou un avertissement. ERROR
WARNING
IGNORE
Signalement d'un usage déconseillé (COMPILER_PB_DEPRECATION)
Lorsque cette option est activée, le compilateur signale l'utilisation d'une API déconseillée comme une erreur ou un avertissement. ERROR
WARNING
IGNORE
Signalement d'un usage déconseillé dans un code obsolète (COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE)
Lorsque cette option est activée, le compilateur signale l'utilisation d'une API déconseillée comme une erreur ou un avertissement. ENABLED
DISABLED
Signalement du bloc catch masqué (COMPILER_PB_HIDDEN_CATCH_BLOCK)
En local avec une instruction try, certains blocs catch peuvent en masquer d'autres, par exemple
   try {
      throw new java.io.CharConversionException();
   } catch (java.io.CharConversionException e) {
   } catch (java.io.IOException e) {}.
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement pour les blocs catch masqués, qui correspondent à des exceptions contrôlées
ERROR
WARNING
IGNORE
Signalement d'une variable locale inutilisée (jamais lue) (COMPILER_PB_UNUSED_LOCAL)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement lié aux variables locales inutilisées (c'est-à-dire des variables qui ne sont jamais lues) ERROR
WARNING
IGNORE
Signalement d'un paramètre inutilisé (jamais lu) (COMPILER_PB_UNUSED_PARAMETER)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement lié aux paramètres de méthode non utilisés (c'est-à-dire des paramètres qui ne sont jamais lus) ERROR
WARNING
IGNORE
Signalement d'un paramètre inutilisé (jamais lu) si une méthode abstraite est implémentée (COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT)
Lorsque cette option est activée, le compilateur signale les paramètres inutilisés (jamais lus) dans les implémentations de méthode abstraite. ENABLED
DISABLED
Signalement d'un paramètre inutilisé (jamais lu) si une méthode concrète est remplacée (COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE)
Lorsque cette option est activée, le compilateur signale les paramètres inutilisés (jamais lus) dans les méthodes remplaçant les méthodes concrètes. ENABLED
DISABLED
Signalement d'une référence d'importation non utilisée (jamais lue) (COMPILER_PB_UNUSED_IMPORT)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement lié à une référence d'importation non utilisée ERROR
WARNING
IGNORE
Signalement de membres privés non utilisés (COMPILER_PB_UNUSED_PRIVATE_MEMBER)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement, chaque fois qu'une méthode ou une zone privée est déclarée, mais jamais utilisée dans la même unité. ERROR
WARNING
IGNORE
Signalement d'émulation d'accès synthétique (COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il émule l'accès à un membre inaccessible d'un type conteneur. Ce type d'accès peut influer sur les performances. ERROR
WARNING
IGNORE
Signalement d'un littéral chaîne non externalisé (COMPILER_PB_NON_NLS_STRING_LITERAL)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement lié au littéral chaîne non externalisé (c'est-à-dire non balisé avec //$NON-NLS-<n>$) ERROR
WARNING
IGNORE
Signalement d'utilisation de 'assert' comme identificateur (COMPILER_PB_ASSERT_IDENTIFIER)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement lorsque 'assert' est utilisé comme identificateur (mot clé réservé en version 1.4) ERROR
WARNING
IGNORE
Signalement d'une référence non statique à un un membre statique (COMPILER_PB_STATIC_ACCESS_RECEIVER)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement, chaque fois qu'une zone ou une méthode statique est accédée avec un récepteur d'expression. ERROR
WARNING
IGNORE
Signalement d'affectation sans effet (COMPILER_PB_NO_EFFECT_ASSIGNMENT)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement, chaque fois qu'une affectation est sans effet (par exemple, 'x = x'). ERROR
WARNING
IGNORE
Signalement d'une méthode d'interface incompatible avec des méthodes non héritées (COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement, chaque fois qu'une interface définit une méthode incompatible avec une méthode d'objet non héritée. ERROR
WARNING
IGNORE
Signalement de l'utilisation des expressions char[] dans des concaténations de chaînes (COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION)
Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement, chaque fois qu'une expression char[] est utilisée dans des concaténations de chaînes (par exemple, "hello" + new char[]{'w','o','r','l','d'}), ERROR
WARNING
IGNORE
Définition du mode de compatibilité source (COMPILER_SOURCE)
Indique si la compatibilité source est 1.3 ou 1.4. A partir de l.4, 'assert' est un mot clé réservé au support de la vérification. Notez également que lorsque vous passez en mode 1.4, la machine virtuelle cible doit être définie à "1.4" et le mode de conformité à "1.4". VERSION_1_3
VERSION_1_4
Paramétrage du niveau de conformité (COMPILER_COMPLIANCE)
Sélectionnez le niveau de conformité du compilateur. En mode "1.3", le niveau de la source et de la cible ne doivent pas dépasser "1.3". VERSION_1_3
VERSION_1_4
Nombre maximal d'erreurs signalées par unité de compilation (COMPILER_PB_MAX_PER_UNIT)
Indiquez le nombre maximum d'erreurs signalées pour chaque unité de compilation (si vous entrez zéro, toutes les erreurs sont signalées). entier positif.
La valeur par défaut est 100
Définition des balises de tâche automatique (COMPILER_TASK_TAGS)
Si la balise n'est pas vide, le compilateur émet un marqueur de tâche chaque fois qu'il rencontre l'une des balises correspondantes dans un commentaire en code source Java. Les messages de tâche générés incluront la balise et s'étendront jusqu'au séparateur de ligne suivant ou à la fin du commentaire et seront rognés. {<tag>[,<tag>]*}.
La valeur par défaut est ""
Définition des priorités de tâche automatique (COMPILER_TASK_PRIORITIES)
Parallèlement aux balises de tâche automatique, cette liste définit les priorités (élevée, normale ou faible) des marqueurs de tâche émis par le compilateur. Si la valeur par défaut est spécifiée, la priorité de chaque marque de tâche est "NORMALE". {<priority>[,<priority>]*}.
La valeur par défaut est ""

Options de génération

Description Valeurs
Spécification de filtres de contrôle de copie de ressources (CORE_JAVA_BUILD_RESOURCE_COPY_FILTER)
Indiquez des filtres de contrôle du processus de copie de ressources. (<nom> est un modèle de nom de fichier (seul le caractère générique * est admis) ou le nom d'un dossier qui se termine par '/') {<nom>[,<nom>]*}.
La valeur par défaut est ""
Abandon lorsque le chemin d'accès aux classes est incorrect (CORE_JAVA_BUILD_INVALID_CLASSPATH)
La génération s'arrête si le chemin d'accès aux classes est non valide ABORT
IGNORE
Vidages du ou des dossier(s) de sortie (CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER)
Indiquez si JavaBuilder peut vider les dossiers de sortie lors de l'exécution des opérations de compilation complète. CLEAN
IGNORE

Option JavaCore

Description Valeurs
Calcul de l'ordre de compilation du projet (CORE_JAVA_BUILD_ORDER)
Indique si JavaCore doit imposer que l'ordre de compilation du projet respecte les conditions préalables du chemin de classe. Lorsque vous le demandez, ce calcul prévaut sur l'ordre par défaut de la plateforme (en fonction des préférences du projet). COMPUTE
IGNORE
Spécification du format de codage source par défaut (CORE_ENCODING)
Affichez le format de codage des sources compilées. Ce paramètre en lecture seule équivaut à ResourcesPlugin.getEncoding(). tout nom de codage pris en charge.
La valeur par défaut est celle de la plateforme
Signalement de chemin de classe incomplet (CORE_INCOMPLETE_CLASSPATH)
Indiquez la gravité du problème signalé lorsqu'une entrée du chemin de classe n'existe pas, est illégitime ou invisible (par exemple, si un projet référencé est fermé). ERROR
WARNING
Signalement d'un cycle de chemin de classe (CORE_CIRCULAR_CLASSPATH)
Indiquez la gravité du problème signalé lorsqu'un problème est impliqué dans un cycle. ERROR
WARNING
Activation de l'utilisation des schémas d'exclusion de chemin de classe (CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS)
Si cette option est "désactivée", aucune entrée d'un chemin de classe de projet ne peut être associée à un schéma d'exclusion. ENABLED
DISABLED
Activation de l'utilisation de plusieurs emplacements de sortie de chemin de classe (CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS)
Si cette option est "désactivée", aucune entrée d'un chemin de classe de projet ne peut être associée à un emplacement de sortie spécifique, empêchant ainsi l'utilisation de plusieurs emplacements de sortie. ENABLED
DISABLED

Options de formatage

Description Valeurs
Insertion d'une nouvelle ligne avant une accolade ouvrante (FORMATTER_NEWLINE_OPENING_BRACE)
Si vous cochez cette case, une nouvelle ligne est insérée avant chaque accolade ouvrante INSERT
DO_NOT_INSERT
Insertion d'une nouvelle ligne dans une instruction de contrôle (FORMATTER_NEWLINE_CONTROL)
Si vous cochez cette case, une nouvelle ligne est ajoutée entre } et else, catch, finally INSERT
DO_NOT_INSERT
Effacement des lignes vierges (FORMATTER_CLEAR_BLANK_LINES)
Si vous cochez la case Clear all, toutes les lignes vierges sont effacées. Si vous cochez Preserve one, une ligne est conservée et toutes les autres sont supprimées. CLEAR_ALL
PRESERVE_ONE
Insertion d'une nouvelle ligne entre Else/If (FORMATTER_NEWLINE_ELSE_IF)
Si vous cochez cette case, une ligne vierge est insérée entre "else" et "if" lorsque ces instructions sont contiguës. Sinon, "else" et "if" sont conservées sur la même ligne si possible. INSERT
DO_NOT_INSERT
Insertion d'une nouvelle ligne dans un bloc vide (FORMATTER_NEWLINE_EMPTY_BLOCK)
Si vous cochez cette case, un passage à la ligne est inséré entre { et }, si } n'est pas suivi d'un mot clé. INSERT
DO_NOT_INSERT
Fractionnement des lignes dépassant la longueur configurée (FORMATTER_LINE_SPLIT)
Fractionnement des longues lignes (dépassant la longueur configurable). La valeur 0 désactive le fractionnement des lignes entier positif.
La valeur par défaut est 80
Compactage d'affectation (FORMATTER_COMPACT_ASSIGNMENT)
Les affectations peuvent être formatées de façon asymétriques, comme suit 'int x= 2;' ; si vous ne cochez pas la case, un espace est inséré avant l'opérateur d'affectation COMPACT
NORMAL
Définition du caractère de retrait (FORMATTER_TAB_CHAR)
Sélectionnez cette option pour effectuer le retrait à l'aide de tabulations ou d'espaces TAB
SPACE
Définition du nombre d'espaces de retrait (FORMATTER_TAB_SIZE)
Si vous utilisez des espaces, nombre d'espaces à utiliser pour chaque retrait. entier positif.
La valeur par défaut est 4
Insertion d'espace dans une expression CAST (FORMATTER_SPACE_CASTEXPRESSION)
Lors de l'insertion, un espace est ajouté entre le type et l'expression dans une expression cast. INSERT
DO_NOT_INSERT

Options d'aide à la saisie de code

Description Valeurs
Activate Visibility Sensitive Completion (CODEASSIST_VISIBILITY_CHECK)
Lorsque vous activez cette option, l'achèvement d'une opération ne vous montre que ce que vous êtes autorisé à voir (par exemple, vous n'avez pas de visibilité des méthodes privées d'une super classe). ENABLED
DISABLED
Automatic Qualification of Implicit Members (CODEASSIST_IMPLICIT_QUALIFICATION)
Lorsque vous activez cette option, l'achèvement qualifie automatiquement l'achèvement des références de zone et des expressions de message implicites. ENABLED
DISABLED
Définition des préfixes des noms de zone (CODEASSIST_FIELD_PREFIXES)
Si les préfixes ne sont pas vides, le nom de zone commencera par l'un des préfixes proposés. {<prefix>[,<prefix>]*}.
La valeur par défaut est ""
Définition des préfixes des noms de zone statique (CODEASSIST_STATIC_FIELD_PREFIXES)
Si les préfixes ne sont pas vides, le nom de zone statique commencera par l'un des préfixes proposés. {<prefix>[,<prefix>]*}.
La valeur par défaut est ""
Définition des préfixes des noms de variable locale (CODEASSIST_LOCAL_PREFIXES)
Si les préfixes ne sont pas vides, le nom de variable locale commencera par l'un des préfixes proposés. {<prefix>[,<prefix>]*}.
La valeur par défaut est ""
Définition des préfixes des noms d'argument (CODEASSIST_ARGUMENT_PREFIXES)
Si les préfixes ne sont pas vides, le nom d'argument commencera par l'un des préfixes proposés. {<prefix>[,<prefix>]*}.
La valeur par défaut est ""
Définition des suffixes des noms de zone (CODEASSIST_FIELD_SUFFIXES)
Si les suffixes ne sont pas vides, le nom de zone se terminera par l'un des suffixes proposés. {<suffix>[,<suffix>]*}.
La valeur par défaut est ""
Définition des suffixes des noms de zone statique (CODEASSIST_STATIC_FIELD_SUFFIXES)
Si les suffixes ne sont pas vides, le nom de zone statique se terminera par l'un des suffixes proposés. {<suffix>[,<suffix>]*}.
La valeur par défaut est ""
Définition des suffixes des noms de variable locale (CODEASSIST_LOCAL_SUFFIXES)
Si les suffixes ne sont pas vides, le nom de variable locale se terminera par l'un des suffixes proposés. {<suffix>[,<suffix>]*}.
La valeur par défaut est ""
Définition des suffixes des noms d'argument (CODEASSIST_ARGUMENT_SUFFIXES)
Si les suffixes ne sont pas vides, le nom d'argument se terminera par l'un des suffixes proposés. {<suffix>[,<suffix>]*}.
La valeur par défaut est ""

 Copyright IBM Corporation and others 2000, 2003. All Rights Reserved.