Sie können über einige APIs auf JDT-Kern-Optionen zugreifen. Diese APIs befinden sich im JavaCore. Lediglich vier Methoden sind zum Bearbeiten dieser Optionen erforderlich:
Die Optionen werden als eine Hashtabelle aller bekannten und konfigurierbaren Optionen mit ihren Werten bearbeitet. Konstanten der Hilfeprogramme wurden im JavaCore für jede Options-ID und den möglichen Konstantenwerten definiert.
Wenn Sie den JDT-Kern mit lediglich vier Optionen konfigurieren wollen, funktioniert das folgende Code-Fragment:
// 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);
Gehen Sie wie folgt vor, wenn Sie die aktuellen Optionen beibehalten und nur eine ändern wollen:
// 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);
Die Liste aller JDT-Kern-Optionen befindet sich in den folgenden Tabellen. Sämtliche Tabellen verfügen über dieselbe Organisation, bei der die Options-ID in runden Klammern steht und der Standardwert kursiv und fett gedruckt wird.
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 werden oder 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 | |
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 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 | |
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 | |
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 |
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 |
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" |
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 |
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 |