Manipolazione delle opzioni del nucleo di JDT

Alle opzioni JDT Core è possibile accedere mediante alcune API. Tali API si trovano in JavaCore. Per modificare le opzioni sono necessari solo quattro metodi:

Le opzioni sono modificate come una tabella hash di tutte le opzioni configurabili conosciute con i relativi valori. Le costanti dell'helper sono state definite in JavaCore per ciascun ID di opzione e i relativi valori di costante possibili.

Per configurare JDT Core con le sole proprie opzioni, è possibile utilizzare il seguente frammento di codice:

   // Ottenere le opzioni correnti
   Hashtable options = JavaCore.getDefaultOptions();
   
   // Modificare il valore di un'opzione
   options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
   
   // Impostare le nuove opzioni
   JavaCore.setOptions(options);
Per mantenere le opzioni correnti e modificare solo una di esse:
   // Ottenere le opzioni correnti
   Hashtable options = JavaCore.getOptions();
   
   // Modificare il valore di un'opzione
   options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
   
   // Impostare le nuove opzioni
   JavaCore.setOptions(options);

Descrizione delle opzioni JDT Core

L'elenco di tutte le opzioni JDT Core è riportato nelle tabelle seguenti. Tutte le tabelle presentano la stessa organizzazione con l'ID dell'opzione tra parentesi e il valore predefinito in carattere corsivo grassetto.

Categoria di opzioni

Opzioni del compilatore

Descrizione Valori
Generazione di attributo di debug di variabile locale (COMPILER_LOCAL_VARIABLE_ATTR)
Quando generato, questo attributo abiliterà la visualizzazione dei nomi di variabili locali nel debugger, solo nelle posizioni in cui le variabili sono assegnate in maniera definitiva (il file .class è pertanto il più ampio) GENERATE
DO_NOT_GENERATE
Generazione di attributo di debug del numero di riga (COMPILER_LINE_NUMBER_ATTR)
Quando generato, questo attributo abiliterà l'evidenziazione del codice sorgente nel debugger (il file .class è il più ampio). GENERATE
DO_NOT_GENERATE
Generazione di attributo di debug del codice sorgente (COMPILER_SOURCE_FILE_ATTR)
Quando generato, questo attributo abiliterà la presentazione del codice sorgente. GENERATE
DO_NOT_GENERATE
Conservazione di variabili locali non utilizzate (COMPILER_CODEGEN_UNUSED_LOCAL)
A meno che non sia richiesta la conservazione di variabili locali non utilizzate (ad esempio mai lette), il compilatore le ottimizzerà, alterando potenzialmente il debug. PRESERVE
OPTIMIZE_OUT
Definizione della piattaforma Java di destinazione (COMPILER_CODEGEN_TARGET_PLATFORM)
Per motivi di compatibilità binaria, i file .class possono essere codificati con determinate versioni di VM. Si noti che la destinazione "1.4" richiede l'attivazione delle modalità di compatibilità anche per "1.4". VERSION_1_1
VERSION_1_2
VERSION_1_3
VERSION_1_4
Report di codice non raggiungibile (COMPILER_PB_UNREACHABLE_CODE)
Il fatto che il codice non sia raggiungibile può essere riportato come un errore, un avviso o semplicemente essere ignorato. La generazione di codice di byte ne comporterà comunque l'ottimizzazione. ERROR
WARNING
IGNORE
Report di importazione non valida (COMPILER_PB_INVALID_IMPORT)
Un'istruzione che non può essere risolta può essere riportata come un errore, un avviso o semplicemente essere ignorata. ERROR
WARNING
IGNORE
Report del tentativo di ricoprire il metodo predefinito del pacchetto (COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD)
Il metodo predefinito di un pacchetto non è visibile in un pacchetto diverso e quindi non può essere sostituito. Quando si abilità questa opzione, il compilatore segnalerà tali scenari sia come un errore che come un avviso. ERROR
WARNING
IGNORE
Report del metodo con il nome del costruttore (COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME)
Assegnare a un metodo il nome di un costruttore viene considerata una strategia di programmazione poco valida. Quando si attiva tale opzione, il compilatore segnalerà questi scenari come un errore o come un avviso. ERROR
WARNING
IGNORE
Report di deprecation (COMPILER_PB_DEPRECATION)
Quando si attiva questa opzione, il compilatore segnalerà l'uso di una tale API come un errore o un avviso. ERROR
WARNING
IGNORE
Report di blocco catch nascosto (COMPILER_PB_HIDDEN_CATCH_BLOCK)
Vicino a un'istruzione try alcuni blocchi catch potrebbero nasconderne altri, ad esempio
   try {
      throw new java.io.CharConversionException();
   } catch (java.io.CharConversionException e) {
   } catch (java.io.IOException e) {}.
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso per i blocchi catch nascosti che corrispondono alle eccezioni controllate
ERROR
WARNING
IGNORE
Report di variabili locali non utilizzate (COMPILER_PB_UNUSED_LOCAL)
Quando è attivata questa opzione, il compilatore genererà un errore o un avviso per le variabili locali non utilizzate (ad esempio variabili mai lette) ERROR
WARNING
IGNORE
Report di parametri non utilizzati (COMPILER_PB_UNUSED_PARAMETER)
Quando è attivata questa opzione, il compilatore genererà un errore o un avviso per i parametri di metodo non utilizzati (ad esempio parametri mai letti) ERROR
WARNING
IGNORE
Report di riferimenti di importazione non utilizzati (COMPILER_PB_UNUSED_IMPORT)
Quando questa opzione è attivata, il compilatore genererà un errore o un avviso per i riferimenti di importazione non utilizzati ERROR
WARNING
IGNORE
Report di emulazione di accesso sintetica (COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che emula l'accesso a un membro non accessibile di un tipo superiore. Tale accesso può avere implicazioni nelle prestazioni. ERROR
WARNING
IGNORE
Report di variabile letterale non esternalizzata (COMPILER_PB_NON_NLS_STRING_LITERAL)
Quando è attivata questa opzione, il compilatore genererà un errore o un avviso per le variabili letterali non esternalizzate (cioè non contrassegnate dal tag //$NON-NLS-<n>$) ERROR
WARNING
IGNORE
Report dell'utilizzo dell'identificativo 'assert' (COMPILER_PB_ASSERT_IDENTIFIER)
Quando è attivata questa opzione, il compilatore genererà un errore o un avviso ogni volta che 'assert' viene utilizzato come identificativo (parola chiave riservata in 1.4) ERROR
WARNING
IGNORE
Impostazione della modalità di compatibilità del codice sorgente (COMPILER_SOURCE)
Specifica se il codice sorgente è compatibile con 1.3 o 1.4. A partire da 1.4, 'assert' è una parola chiave riservata per il supporto dell'asserzione. Si noti inoltre che quando si passa alla modalità 1.4, il livello VM di destinazione e la modalità di compatibilità devono essere "1.4". VERSION_1_3
VERSION_1_4
Impostazione del livello di compatibilità (COMPILER_COMPLIANCE)
Selezionare il livello di compatibilità per il compilatore. Nella modalità "1.3", le impostazioni di origine e destinazione non devono essere al di là del livello "1.3". VERSION_1_3
VERSION_1_4
Numero massimo di problemi riportati per unità di compilazione (COMPILER_PB_MAX_PER_UNIT)
Specificare il numero massimo di problemi riportati su ciascuna unità di compilazione (se il massimo è pari a zero verranno riportati tutti i problemi). un numero intero positivo.
Il valore predefinito è 100

Opzioni del generatore

Descrizione Valori
Specificazione dei filtri per il controllo della copia della risorsa (CORE_JAVA_BUILD_RESOURCE_COPY_FILTER)
Specificare i filtri per controllare il processo di copia della risorsa. (<name> è un modello di nome file (sono consentiti solo caratteri jolly *) oppure il nome di una cartella che termina con '/') {<name>[,<name>]*}.
Il valore predefinito è ""
Interruzione in caso di percorso classi non valido (CORE_JAVA_BUILD_INVALID_CLASSPATH)
Indicare al generatore di interrompersi se il percorso classi non è valido. ABORT
IGNORE

Opzioni JavaCore

Descrizione Valori
Calcolo dell'ordine di build di progetto (CORE_JAVA_BUILD_ORDER)
Indicare se JavaCore deve imporre che l'ordine di build di progetto si basi sulla catena di prerequisiti del percorso classi. Quando viene richiesto, il calcolo sostituisce l'ordine predefinito della piattaforma (basato sui riferimenti di progetto). COMPUTE
IGNORE
Specifica il formato di codifica del codice sorgente predefinito (CORE_ENCODING)
Ottenere il formato di codifica per il codice sorgente compilato. Questa è un'impostazione di sola lettura ed è equivalente a ResourcesPlugin.getEncoding(). ciascun nome di codifica supportato
Il valore predefinito è quello predefinito della piattaforma

Opzioni del formatter

Descrizione Valori
Inserimento di una nuova riga prima della parentesi di apertura (FORMATTER_NEWLINE_OPENING_BRACE)
Durante questa operazione viene inserita una nuova riga prima della parentesi di apertura, altrimenti non è possibile inserire alcun elemento INSERT
DO_NOT_INSERT
Inserimento di una nuova riga all'interno di un'istruzione di controllo (FORMATTER_NEWLINE_CONTROL)
Viene inserita una nuova riga tra } e i successivi else, catch, finally INSERT
DO_NOT_INSERT
Eliminazione di righe vuote (FORMATTER_CLEAR_BLANK_LINES)
Quando si selezione Elimina tutto, vengono rimosse tutte le righe vuote. Quando si selezione Conserva una, viene conservata solo una riga mentre le altre vengono rimosse CLEAR_ALL
PRESERVE_ONE
Inserimento di una nuova riga tra Else/If (FORMATTER_NEWLINE_ELSE_IF)
Quando si selezione Inserisci, viene inserita una riga vuota tra un else e un if quando sono contigui. Quando si sceglie di non effettuare alcun inserimento, else-if si conserveranno sulla stessa riga per quanto possibile. INSERT
DO_NOT_INSERT
Inserimento di una nuova riga in un blocco vuoto (FORMATTER_NEWLINE_EMPTY_BLOCK)
Quando si selezione Inserisci, viene inserita un'interruzione di riga tra { e } contigue, se } non è seguita da una parola chiave. INSERT
DO_NOT_INSERT
Suddivisione di righe che superano la lunghezza (FORMATTER_LINE_SPLIT)
Abilita la divisione di righe lunghe (eccedenti la lunghezza configurabile). Una lunghezza pari a 0 disabiliterà la suddivisione di righe un numero intero positivo.
Il valore predefinito è 80
Compattazione di assegnazione (FORMATTER_COMPACT_ASSIGNMENT)
Le assegnazioni possono essere formattate in maniera asimmetrica, ad esempio 'int x= 2;', quando è normale, viene inserito uno spazio prima dell'operatore di assegnazione COMPACT
NORMAL
Definizione del carattere di rientro (FORMATTER_TAB_CHAR)
Per il rientro è possibile scegliere sia i caratteri di tabulazione che gli spazi TAB
SPACE
Definizione della lunghezza del rientro dello spazio (FORMATTER_TAB_SIZE)
Quando si utilizzano spazi, impostare la quantità di caratteri di spazio da utilizzare per ogni rientro. un numero intero positivo.
Il valore predefinito è 4

Opzioni CodeAssist

Descrizione Valori
Attiva il completamento sensibile alla visibilità (CODEASSIST_VISIBILITY_CHECK)
Quando è attivo, il completamento non mostra l'impossibilità di visualizzazione (ad esempio non è possibile visualizzare i metodi privati di una classe super). ENABLED
DISABLED
Qualifica automatica di membri impliciti (CODEASSIST_IMPLICIT_QUALIFICATION)
quando l'opzione è attiva, il completamento esegue automaticamente la qualifica su riferimenti di campi impliciti ed espressioni di messaggi. ENABLED
DISABLED

 Copyright IBM Corporation e altri 2000, 2002. Tutti i diritti riservati.