Optionen für JDT-Kern

Die Optionen für den JDT-Kern steuern das Verhalten von Kernfunktionen wie beispielsweise den Java-Compiler, das Codeformatierungsprogramm, die Unterstützung für Code und anderes Kernverhalten.  Die APIs für den Zugriff auf die Optionen sind in JavaCore definiert.  Auf die Optionen als Gruppe kann folgendermaßen zugegriffen werden:

Der Zugriff auf die Optionen kann auch einzeln durch die Angabe eines Zeichenfolgenamens erfolgen.

Optionen werden als Hashtabelle aller bekannten konfigurierbaren Optionen mit ihren Werten gespeichert. Konstanten der Hilfeprogramme wurden im JavaCore für jede Options-ID und den möglichen Konstantenwerten definiert.

Das folgende Codefragment stellt die Werte aller Kernoptionen mit den entsprechenden Standardwerten wieder her. Hiervon ausgenommen ist eine Option (COMPILER_PB_DEPRECATION), die gesondert festgelegt wird:

   // Aktuelle Optionen abrufen
   Hashtable options = JavaCore.getDefaultOptions();
   
   // Wert einer Option ändern
   options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
   
   // Neue Optionen festlegen
   JavaCore.setOptions(options);
Das folgende Codefragment behält die aktuellen Werte der Optionen bei und ändert lediglich eine Option (COMPILER_PB_DEPRECATION):
   // Aktuelle Optionen abrufen
   Hashtable options = JavaCore.getOptions();
   
   // Wert einer Option ändern
   options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
   
   // Neue Optionen festlegen
   JavaCore.setOptions(options);

Projektspezifische Optionen

Die Werte von Optionen können unter Verwendung des Protokolls in IJavaProject jeweils für ein Projekt überschrieben werden.

Das folgende Codefragment ruft den Wert einer Option (COMPILER_PB_DEPRECATION) für ein spezifisches Projekt auf zwei unterschiedlichen Wegen ab.  Der Boolesche Parameter steuert, ob in einer Abfrage nur die projektspezifischen Optionen zurückgegeben werden sollen oder ob die Optionswerte des Projektes mit den Werten in JavaCore gemischt werden sollen.

   // Get the project
   IJavaProject project = ...;

   // See if the value of an option has been set in this project
   String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, false);
   if (value == null) {
     // no specific option was set on the project
     ...
   }
   
   // Get the value of an option from this project.  Use the value from 
   // JavaCore value if none is specified for the project
   String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, true);

Beschreibungen der JDT-Kern-Optionen

Die folgende Tabelle beschreibt die verfügbaren Optionen für den JDT-Kern.  Die Options-ID ist in runden Klammern angegeben, der Standardwert ist in fetter Kursivschrift dargestellt.

Optionskategorien

Compileroptionen

Beschreibung Werte
Lokales Variablen-Debug-Attribut generieren (COMPILER_LOCAL_VARIABLE_ATTR)
Dieses Attribut ermöglicht nach der Generierung die Anzeige von lokalen Variablennamen im Debugger (an Stellen, an denen Variablen mit Sicherheit zugeordnet werden). Die daraus resultierende .class-Datei ist dann größer. GENERATE
DO_NOT_GENERATE
Zeilennummern-Debug-Attribut generieren (COMPILER_LINE_NUMBER_ATTR)
Diese Attribut ermöglicht die Hervorhebung des Quellencodes im Debugger. Die daraus resultierende .class-Datei ist dann größer. GENERATE
DO_NOT_GENERATE
Quellen-Debug-Attribut generieren (COMPILER_SOURCE_FILE_ATTR)
Dieses Attribut ermöglicht nach der Generierung die Darstellung des entsprechenden Quellcodes im Debugger. GENERATE
DO_NOT_GENERATE
Nicht verwendete lokale Variablen beibehalten (COMPILER_CODEGEN_UNUSED_LOCAL)
Sofern der Compiler nicht angefordert wird, nicht verwendete lokale Variablen (d. h. nicht gelesen) beizubehalten, führt er eine Optimierung für diese aus und ändert dadurch potenziell das Debuggen. PRESERVE
OPTIMIZE_OUT
Ziel-Java-Plattform definieren (COMPILER_CODEGEN_TARGET_PLATFORM)
Aus Binärkompatibilitätsgründen können .class-Dateien mit bestimmten VM-Versionen und später gekennzeichnet werden. Beachten Sie, dass das Ziel "1.4" erfordert, dass Sie den Kompatibilitätsmodus ebenfalls auf "1.4" umschalten. VERSION_1_1
VERSION_1_2
VERSION_1_3
VERSION_1_4
Nicht adressierbaren Code berichten (COMPILER_PB_UNREACHABLE_CODE)
Nicht adressierbarer Code kann optional als Fehler oder Warnung berichtet bzw. einfach ignoriert werden. Die Bytecodegenerierung führt stets eine Optimierung aus. ERROR
WARNING
IGNORE
Ungültigen Import berichten (COMPILER_PB_INVALID_IMPORT)
Eine nicht auflösbare Importanweisung kann optional als Fehler oder Warnung berichtet bzw. ignoriert werden. ERROR
WARNING
IGNORE
Versuch des Überschreibens der Standardmethode eines Pakets berichten (COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD)
Eine Standardmethode eines Pakets ist in einem anderen Paket nicht sichtbar und kann deshalb nicht überschrieben werden. Wird diese Option aktiviert, signalisiert der Compiler solche Szenarios entweder als Fehler oder als Warnung. ERROR
WARNING
IGNORE
Methoden mit Konstruktornamen berichten (COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME)
Das Benennen einer Methode mit einem Konstruktornamen wird allgemein als schlechter Programmierstil betrachtet. Wird diese Option aktiviert, signalisiert der Compiler solche Szenarios entweder als Fehler oder als Warnung. ERROR
WARNING
IGNORE
Herabstufung berichten (COMPILER_PB_DEPRECATION)
Ist diese Option aktiviert, signalisiert der Compiler die Verwendung von herabgestufter API entweder als Fehler oder als Warnung. ERROR
WARNING
IGNORE
Herabstufung in herabgestuftem Code melden (COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE)
Ist diese Option aktiviert, signalisiert der Compiler die Verwendung von herabgestufter API entweder als Fehler oder als Warnung. ENABLED
DISABLED
Verdeckte catch-Böcke berichten (COMPILER_PB_HIDDEN_CATCH_BLOCK)
Bei einer lokalen TRY-Anweisung können einige catch-Blöcke möglicherweise andere verdecken, z. B.:
   try {
      throw new java.io.CharConversionException();
   } catch (java.io.CharConversionException e) {
   } catch (java.io.IOException e) {}.
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für verdeckte CATCH-Blöcke entsprechend der überprüften Ausnahmebedingungen aus.
ERROR
WARNING
IGNORE
Nicht verwendete lokale Variablen berichten (COMPILER_PB_UNUSED_LOCAL)
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für nicht verwendete Variablen aus (d. h. nicht gelesene Variablen). ERROR
WARNING
IGNORE
Nicht verwendete Parameter berichten (COMPILER_PB_UNUSED_PARAMETER)
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für nicht verwendete Methodenparameter aus (d. h. nicht gelesene Methodenparameter). ERROR
WARNING
IGNORE
Nicht verwendete Parameter bei Implementierung einer abstrakten Methode melden (COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT)
Ist diese Option aktiviert, meldet der Compiler nicht verwendete Parameter in den Implementierungen von abstrakten Methoden. ENABLED
DISABLED
Nicht verwendete Parameter beim Überschreiben einer konkreten Methode melden (COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE)
Ist diese Option aktiviert, meldet der Compiler nicht verwendete Parameter in Methoden, die konkrete Methoden überschreiben. ENABLED
DISABLED
Nicht verwendeten Import berichten (COMPILER_PB_UNUSED_IMPORT)
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für nicht verwendete Importverweise aus. ERROR
WARNING
IGNORE
Nicht verwendete private Member melden(COMPILER_PB_UNUSED_PRIVATE_MEMBER)
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine private Methode oder ein Feld deklariert ist, in derselben Einheit jedoch nie verwendet wird. ERROR
WARNING
IGNORE
Synthetische Zugriffsemulation berichten (COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn er den Zugriff auf ein nicht zugriffsfähiges Member eines einschließenden Typs emuliert. Solcher Zugriff kann Auswirkungen auf die Leistung beinhalten. ERROR
WARNING
IGNORE
Nicht ausgelagertes Zeichenfolgeliteral berichten (COMPILER_PB_NON_NLS_STRING_LITERAL)
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für nicht ausgelagertes Zeichenfolgeliteral aus (d. h. nicht mit der Kennung //$NON-NLS-<n>$ versehen). ERROR
WARNING
IGNORE
Verwendung der Kennung 'assert' berichten (COMPILER_PB_ASSERT_IDENTIFIER)
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn "assert" als Kennung verwendet wird (reserviertes Schlüsselwort in 1.4). ERROR
WARNING
IGNORE
Nicht statische Verweise auf statischen Member melden (COMPILER_PB_STATIC_ACCESS_RECEIVER)
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn in einem Ausdrucksempfänger auf ein statisches Feld oder eine Methode zugegriffen wird. ERROR
WARNING
IGNORE
Zuordnung ohne Wirkung melden (COMPILER_PB_NO_EFFECT_ASSIGNMENT)
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine Zuordnung keine Auswirkung hat (z. B. "x = x"). ERROR
WARNING
IGNORE
Mit nicht übernommenen Methoden unkompatible Schnittstellenmethode melden (COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD)
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine Schnittstelle eine Methode definiert, die mit der Methode eines nicht übernommenen Objekts nicht kompatibel ist. ERROR
WARNING
IGNORE
Verwendung von Ausdrücken "char[]" in Verkettungen von Zeichenfolgen melden (COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION)
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn in Verkettungen von Zeichenfolgen ein Ausdruck "char[]" verwendet wird (z. B. "hello" + new char[]{'w','o','r','l','d'}), ERROR
WARNING
IGNORE
Quellenkompatibilitätsmodus einstellen (COMPILER_SOURCE)
Angabe, ob die Quelle mit Version 1.3 oder 1.4 kompatibel ist. Ab Version 1.4 ist "assert" ein für die Faktunterstützung reserviertes Schlüsselwort. Beachten Sie außerdem, dass wenn Sie zum Modus 1.4 umschalten, die VM-Zielstufe auf "1.4" gesetzt und der Kompatibilitätsmodus "1.4" sein muss. VERSION_1_3
VERSION_1_4
Kompatibilitätsstufe einstellen (COMPILER_COMPLIANCE)
Wählen Sie die Kompatibilitätsstufe des Compiler aus. Im Modus "1.3" dürfen die Quellen- und Zieleinstellungen nicht über die Stufe "1.3" hinausgehen. VERSION_1_3
VERSION_1_4
Höchstzahl der Probleme, die pro Kompiliereinheit gemeldet werden (COMPILER_PB_MAX_PER_UNIT)
Geben Sie die Höchstzahl der Probleme an, die pro Kompiliereinheit gemeldet werden (wenn das Maximum null ist, werden alle Probleme berichtet). Ein positives Integer.
Der Standardwert ist 100
Automatische Taskkennungen definieren (COMPILER_TASK_TAGS)
Wenn die Kennung nicht leer ist, gibt der Compiler immer dann eine Taskmarkierung aus, wenn er eines der entsprechenden Tags innerhalb eines Kommentars im Java-Quellcode feststellt.   Generierte Tasknachrichten enthalten das Tag, reichen bis zum nächsten Zeilentrennzeichen oder Kommentarende und werden abgeschnitten. {<tag>[,<tag>]*}.
Der Standardwert ist ""
Automatische Taskprioritäten definieren (COMPILER_TASK_PRIORITIES)
Parallel zu den automatischen Task-Tags definiert diese Liste die Prioritäten (hoch, normal oder niedrig) für die Taskmarkierungen, die durch den Compiler ausgegeben werden.   Wenn der Standardwert angegeben ist, hat jede Taskmarkierung die Priorität "NORMAL". {<priority>[,<priority>]*}.
Der Standardwert ist ""

Erstellungsprogrammoptionen

Beschreibung Werte
Filter für die Ressourcenkopiesteuerung angeben (CORE_JAVA_BUILD_RESOURCE_COPY_FILTER)
Geben Sie Filter zum Steuern des Ressourcenkopieprozesses an. (<name> ist das Dateinamensmuster (nur Platzhalterzeichen "*" sind zulässig) oder der Name eines Ordners, der mit "/" endet). {<name>[,<name>]*}.
Der Standardwert ist ""
Bei ungültigem Klassenpfad abbrechen (CORE_JAVA_BUILD_INVALID_CLASSPATH)
Weisen Sie das Erstellungsprogramm zum Abbrechen an, wenn der Klassenpfad ungültig ist. ABORT
IGNORE
Ausgabeordner bereinigen (CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER)
Gibt an, ob das Java-Erstellungsprogramm die Ausgabeordner bereinigen darf, wenn Operationen für eine vollständige Erstellung ausgeführt werden. CLEAN
IGNORE

JavaCore-Optionen

Beschreibung Werte
Projekterstellungsreihenfolge berechnen (CORE_JAVA_BUILD_ORDER)
Geben Sie an, ob JavaCore die Projekterstellungsreichenfolge auf Basis der Klassenpfadvoraussetzungskette zur Anwendung bringt. Wenn die Berechnung angefordert wird, wird die Standardreihenfolge der Plattform (basierend auf den Projektbenutzervorgaben) übernommen. COMPUTE
IGNORE
Standardformat der Quellencodierung angeben (CORE_ENCODING)
Rufen Sie das Codierformat der kompilierten Quellen ab. Diese Einstellung verfügt lediglich über Lesezugriff und ist äquivalent zu ResourcesPlugin.getEncoding(). Jeder unterstützte Codierungsname.
Der Standardwert ist "platform default"
Unvollständigen Klassenpfad melden (CORE_INCOMPLETE_CLASSPATH)
Gibt die Wertigkeit des Fehlers an, der gemeldet wird, wenn ein Eintrag im Klassenpfad nicht vorhanden, nicht gültig oder nicht sichtbar ist (z. B weil ein Projekt geschlossen wurde, auf das verwiesen wird). ERROR
WARNING
Klassenpfadzyklus melden (CORE_CIRCULAR_CLASSPATH)
Gibt die Wertigkeit des Fehlers an, der gemeldet wird, wenn ein Projekt an einem Zyklus beteiligt ist. ERROR
WARNING
Verwendung von Ausschlussmustern für Klassenpfad aktivieren (CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS)
Ist diese Option auf "disabled" gesetzt, kann keinem Eintrag in einem Projektklassenpfad ein Ausschlussmuster zugeordnet werden. ENABLED
DISABLED
Verwendung von mehreren Ausgabepositionen für Klassenpfad aktivieren (CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS)
Ist diese Option auf "disabled" gesetzt, kann keinem Eintrag in einem Projektklassenpfad eine spezifisches Ausgabeposition zugeordnet werden. Dies verhindert die Verwendung von mehreren Ausgabepositionen. ENABLED
DISABLED

Formatierungsprogrammoptionen

Beschreibung Werte
Neue Zeile vor linker geschweifter Klammer einfügen (FORMATTER_NEWLINE_OPENING_BRACE)
Mit "Einfügen" wird eine neue Zeile vor einer linken geschweiften Klammer eingefügt; andernfalls wird nichts eingefügt. INSERT
DO_NOT_INSERT
Neu Zeile innerhalb einer Steueranweisung einfügen (FORMATTER_NEWLINE_CONTROL)
Mit "Einfügen" wird eine neue Zeile zwischen } und nach else, catch und finally eingefügt. INSERT
DO_NOT_INSERT
Leerzeilen löschen (FORMATTER_CLEAR_BLANK_LINES)
Falls markiert, werden alle Leerzeilen entfernt. Ansonsten wird nur eine Leerzeile beibehalten und alle anderen werden entfernt. CLEAR_ALL
PRESERVE_ONE
Neue Zeile zwischen ELSE/IF einfügen (FORMATTER_NEWLINE_ELSE_IF)
Mit "Einfügen" wird ein Zeilenumbruch zwischen einem ELSE und einem IF entfernt. Ansonsten wird ELSE-IF möglichst auf derselben Zeile behalten. INSERT
DO_NOT_INSERT
Neue Zeile in leerem Block einfügen (FORMATTER_NEWLINE_EMPTY_BLOCK)
Mit "Einfügen" wird eine leere Zeile zwischen zusammenhängenden eingefügt, wenn auf { und }, } kein Schlüsselwort folgt. INSERT
DO_NOT_INSERT
Zeilen trennen, die die Länge überschreiten (FORMATTER_LINE_SPLIT)
Aktiviert das Teilen von langen Zeilen (die die konfigurierbare Länge überschreiten). Mit der Länge 0 wird das Trennen von Zeilen inaktiviert. Ein positives Integer.
Der Standardwert ist 80
Zuordnung komprimieren (FORMATTER_COMPACT_ASSIGNMENT)
Zuordnungen können asymmetrisch formatiert werden, z. B. "int x= 2;", bei "Normal" wird ein Leerzeichen vor dem Zuordnungsoperator eingefügt. COMPACT
NORMAL
Einrückungszeichen definieren (FORMATTER_TAB_CHAR)
Wählen Sie aus, ob mit Leerzeichen oder Tabulatoren eingerückt werden soll. TAB
SPACE
Leerzeicheneinrückungslänge definieren (FORMATTER_TAB_SIZE)
Wenn Sie Leerzeichen verwenden, legen Sie die Menge der Leerzeichen für jede Einrückungsmarkierung fest. Ein positives Integer.
Der Standardwert ist 4
Leerzeichen uin Umsetzungsausdruck einfügen (FORMATTER_SPACE_CASTEXPRESSION)
Wenn für diese Option die Einstellung "Insert" angegeben ist, wird in einem Umsetzungsausdruck zwischen dem Typ und dem Ausdruck ein Leerzeichen eingefügt. INSERT
DO_NOT_INSERT

Optionen der Unterstützung für Code

Beschreibung Werte
Sichtbarkeitsabhängige Vervollständigung aktivieren (CODEASSIST_VISIBILITY_CHECK)
Wenn diese Option aktiv ist, zeigt die Fertigstellung nur sichtbare Vorgänge an (z. B. private Methoden einer Superklasse sind nicht sichtbar). ENABLED
DISABLED
Automatische Qualifizierung impliziter Member (CODEASSIST_IMPLICIT_QUALIFICATION)
Wenn diese Option aktiv ist, wird automatisch die Fertigstellung für implizite Feldverweise und Nachrichtenausdrücke qualifiziert. ENABLED
DISABLED
Präfixe für Feldnamen definieren (CODEASSIST_FIELD_PREFIXES)
Wenn die Präfixe nicht leer sind, beginnt die Fertigstellung für den Feldnamen mit einem der vorgeschlagenen Präfixe. {<prefix>[,<prefix>]*}.
Der Standardwert ist ""
Präfixe für Namen von statischen Feldern definieren (CODEASSIST_STATIC_FIELD_PREFIXES)
Wenn die Präfixe nicht leer sind, beginnt die Fertigstellung für den Namen eines statischen Feldes mit einem der vorgeschlagenen Präfixe. {<prefix>[,<prefix>]*}.
Der Standardwert ist ""
Präfixe für die Namen von lokalen Variablen definieren (CODEASSIST_LOCAL_PREFIXES)
Wenn die Präfixe nicht leer sind, beginnt die Fertigstellung für den Namen einer lokalen Variablen mit einem der vorgeschlagenen Präfixe. {<prefix>[,<prefix>]*}.
Der Standardwert ist ""
Präfixe für Argumentnamen definieren (CODEASSIST_ARGUMENT_PREFIXES)
Wenn die Präfixe nicht leer sind, beginnt die Fertigstellung für einen Argumentnamen mit einem der vorgeschlagenen Präfixe. {<prefix>[,<prefix>]*}.
Der Standardwert ist ""
Suffixe für Feldnamen definieren (CODEASSIST_FIELD_SUFFIXES)
Wenn die Suffixe nicht leer sind, endet die Fertigstellung für den Feldnamen mit einem der vorgeschlagenen Suffixe. {<suffix>[,<suffix>]*}.
Der Standardwert ist ""
Suffixe für Namen von statischen Feldern definieren (CODEASSIST_STATIC_FIELD_SUFFIXES)
Wenn die Suffixe nicht leer sind, endet die Fertigstellung für den Namen eines statischen Feldes mit einem der vorgeschlagenen Suffixe. {<suffix>[,<suffix>]*}.
Der Standardwert ist ""
Suffixe für die Namen von lokalen Variablen definieren (CODEASSIST_LOCAL_SUFFIXES)
Wenn die Suffixe nicht leer sind, endett die Fertigstellung für den Namen einer lokalen Variablen mit einem der vorgeschlagenen Suffixe. {<suffix>[,<suffix>]*}.
Der Standardwert ist ""
Suffixe für Argumentnamen definieren (CODEASSIST_ARGUMENT_SUFFIXES)
Wenn die Suffixe nicht leer sind, endet die Fertigstellung für den Argumentnamen mit einem der vorgeschlagenen Suffixe. {<suffix>[,<suffix>]*}.
Der Standardwert ist ""

 Copyright IBM Corporation und Andere 2000, 2003. Alle Rechte vorbehalten.