Opzioni principali di JDT

Le opzioni principali di JDT controllano il comportamento delle funzioni principali, quali il compilatore Java, il programma di formattazione del codice, l'assistente al codice e altri comportamenti principali.  Le API per l'accesso alle opzioni sono definite in JavaCore.  È possibile accedere alle opzioni come gruppo attenendosi a quanto segue:

È possibile accedere alle opzioni singolarmente da un nome stringa.

Le opzioni vengono memorizzate come una tabella hash di tutte le opzioni conosciute con i rispettivi valori. Le costanti dell'helper sono state definite su JavaCore per ciascun ID opzione, insieme ai possibili valori delle costanti.

Il frammento di codice di seguito riportato ripristina il valore di tutte le opzioni principali sui relativi valori predefiniti, eccetto per un valore (COMPILER_PB_DEPRECATION), impostato in modo specifico.

   // 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);
Il frammento di codice di seguito riportato mantiene il valore delle opzioni correnti, modificando solo un valore (COMPILER_PB_DEPRECATION):
   // 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);

Opzioni specifiche del progetto

I valori delle opzioni possono essere sovrascritti per ciascun progetto utilizzando il protocollo presente in IJavaProject.

Il frammento di codice di seguito riportato richiama il valore di un'opzione (COMPILER_PB_DEPRECATION) per un progetto specifico in due modi diversi.   Il parametro booleano controlla se in una query devono essere restituite solo le opzioni specifiche del progetto o se i valori delle opzioni del progetto devono essere uniti ai valori presenti in JavaCore.

   // Richiamare il progetto
   IJavaProject project = ...;

   // Controllare se il valore di un'opzione è stato impostato in questo progetto
   String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, false);
   if (value == null) {
     // nessuna specifica opzione è stata impostata nel progetto
     ...
   }
   
   // Ottenere il valore di un'opzione da questo progetto. Utilizzare il valore di
   // JavaCore se nessun valore è stato specificato per il progetto
String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, true);

Descrizione delle opzioni principali di JDT

La tabella di seguito riportata descrive le opzioni principali di JDT disponibili.  L'ID opzione è in parentesi e il valore predefinito è in corsivo.

Categorie delle opzioni

Opzioni compilatore

Descrizione Valori
Generazione dell'attributo di debug delle variabili locali (COMPILER_LOCAL_VARIABLE_ATTR)
Se viene generato, l'attributo abilita la visualizzazione dei nomi delle variabili locali nel debugger solo nelle posizioni in cui le variabili sono assegnate definitivamente (la dimensione del file .class risulta, quindi, maggiore) GENERATE
DO_NOT_GENERATE
Generazione dell'attributo di debug del numero di riga (COMPILER_LINE_NUMBER_ATTR)
Se viene generato, questo attributo consente l'evidenziazione del codice di origine nel debugger (la dimensione del file .class risulta, quindi, maggiore) GENERATE
DO_NOT_GENERATE
Generazione dell'attributo di debug dell'origine (COMPILER_SOURCE_FILE_ATTR)
Se il valore viene generato, questo attributo abilita la presentazione della codifica di origine corrispondente nel debugger. GENERATE
DO_NOT_GENERATE
Preservazione delle variabili locali non utilizzate (COMPILER_CODEGEN_UNUSED_LOCAL)
A meno che non sia richiesto di preservare le variabili locali non utilizzate (ad esempio, quelle mai lette), il compilatore le ottimizzerà, alterando potenzialmente l'esecuzione del debug. PRESERVE
OPTIMIZE_OUT
Definizione della piattaforma Java di destinazione
Per motivi di compatibilità binaria, i file .class possono essere codificati con alcune versioni di VM. La modalità di destinazione "1.4" richiede la modalità di compatibilità "1.4". VERSION_1_1
VERSION_1_2
VERSION_1_3
VERSION_1_4
Codice non raggiungibile
Il fatto che il codice non sia raggiungibile può essere riportato come un errore, un avviso o semplicemente essere ignorato. La generazione di codici bytecode sarà sempre ottimizzata. ERROR
WARNING
IGNORE
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
Tentativo di sovrascrivere il metodo predefinito di un 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 attiva questa opzione, il compilatore segnalerà la situazione come un errore o un avviso. ERROR
WARNING
IGNORE
Indicazione del metodo con il nome di un 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 questa opzione, il compilatore segnalerà la situazione come un errore o un avviso. ERROR
WARNING
IGNORE
Obsolescenza (COMPILER_PB_DEPRECATION)
Quando si attiva questa opzione, il compilatore segnalerà l'uso di una API obsoleta come un errore o un avviso. ERROR
WARNING
IGNORE
Obsolescenza all'interno di un codice obsoleto (COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE)
Quando si attiva questa opzione, il compilatore segnalerà l'uso di una API obsoleta come un errore o un avviso. ENABLED
DISABLED
Blocchi catch nascosti
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 corrispondenti alle eccezioni controllate
ERROR
WARNING
IGNORE
Variabili locali non utilizzate
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso per le variabili locali non utilizzate (cioè le variabili da cui non si effettua mai una lettura) ERROR
WARNING
IGNORE
Parametri non utilizzati
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso per i parametri di metodo non utilizzati (cioè i parametri da cui non si effettua mai una lettura) ERROR
WARNING
IGNORE
Parametri non utilizzati nell'implementazione del metodo abstract (COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT)
Quando si attiva questa opzione, il compilatore segnalerà i parametri non utilizzati nelle implementazioni del metodo abstract. ENABLED
DISABLED
Parametri non utilizzati nella sovrascrittura del metodo concreto (COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE)
Quando si attiva questa opzione, il compilatore segnalerà i parametri non utilizzati nei metodi che sovrascrivono i metodi concreti. ENABLED
DISABLED
Importazione non utilizzata (COMPILER_PB_UNUSED_IMPORT)
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso per il riferimento a importazioni non utilizzate. ERROR
WARNING
IGNORE
Membri privati non utilizzati(COMPILER_PB_UNUSED_PRIVATE_MEMBER)
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che un metodo o un campo privato viene dichiarato ma non viene mai utilizzato all'interno della stessa unità. ERROR
WARNING
IGNORE
Emulazione accesso sintetico
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 di inclusione. Tale accesso può incidere sulle prestazioni. ERROR
WARNING
IGNORE
Variabili letterali non esternalizzate (COMPILER_PB_NON_NLS_STRING_LITERAL)
Quando si attiva 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
Utilizzo dell'identificativo 'assert' (COMPILER_PB_ASSERT_IDENTIFIER)
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che 'assert' viene utilizzato come identificativo (parola chiave riservata in JDK 1.4) ERROR
WARNING
IGNORE
Riferimento non-static a un membro static (COMPILER_PB_STATIC_ACCESS_RECEIVER)
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che si accede a un campo o a un metodo static con un ricevitore di espressione. ERROR
WARNING
IGNORE
Assegnazione senza effetto (COMPILER_PB_NO_EFFECT_ASSIGNMENT)
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che un'assegnazione non produce alcun effetto (ad esempio 'x = x'). ERROR
WARNING
IGNORE
Metodo di interfaccia non compatibile con metodi non ereditati (COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD)
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che un'interfaccia definisce un metodo incompatibile con un oggetto non ereditato. ERROR
WARNING
IGNORE
Utilizzo di espressioni char[] in concatenazioni di stringhe (COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION)
Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che un'espressione char [] viene utilizzata nelle concatenazioni di stringhe (ad esempio "hello" + new char[]{'w','o','r','l','d'}), ERROR
WARNING
IGNORE
Impostazione della modalità compatibilità di origine (COMPILER_SOURCE)
Specifica se il codice origine è compatibile con 1.3 o 1.4. A partire da 1.4, 'assert' è una parola chiave riservata per il supporto dell'asserzione. Quando si passa alla modalità 1.4, il livello VM di destinazione deve essere impostato su "1.4" e la modalità di compatibilità deve 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 andare oltre il livello "1.3". VERSION_1_3
VERSION_1_4
Numero massimo di problemi riportati per unità di compilazione (COMPILER_PB_MAX_PER_UNIT)
Specifica il numero massimo di problemi riportati in ciascuna unità di compilazione (se il numero massimo è zero, verranno riportati tutti i problemi). un numero intero positivo.
Il valore predefinito è 100
Definizione di tag di attività automatici (COMPILER_TASK_TAGS)
Quando il tag non è vuoto, il compilatore emette un indicatore di attività ogni volta che incontra uno dei tag corrispondenti all'interno dei commenti nel codice di origine Java.  I messaggi di attività generati, che includono il tag e l'intervallo fino al separatore di riga successivo o alla fine del commento, verranno tagliati. {<tag>[,<tag>]*}.
Il valore predefinito è ""
Definizione di priorità di attività automatiche (COMPILER_TASK_PRIORITIES)
Parallelamente ai tag di attività automatici, questo elenco definisce le priorità (alta, normale o bassa) degli indicatori di attività emessi dal compilatore.   Se viene specificata l'impostazione predefinita, la priorità di ciascun indicatore di attività sarà "NORMAL". {<priorità>[,<priorità>]*}.
Il valore predefinito è ""

Opzioni generatore

Descrizione Valori
Filtri per il controllo del processo di copia delle risorse (CORE_JAVA_BUILD_RESOURCE_COPY_FILTER)
Specifica i filtri che controllano il processo di copia delle risorse. (<nome> è un modello di nome file (sono consentiti solo i caratteri jolly *) o il nome di una cartella che termina con '/') {<nome>[,<nome>]*}.
Il valore predefinito è ""
Interruzione se il percorso classi non è valido.
Indica al generatore di eseguire l'interruzione se il percorso classi non è valido ABORT
IGNORE
Ripulitura delle cartelle di output (CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER)
Indica se JavaBuilder può eseguire o meno la ripulitura delle cartelle di output quando esegue le operazioni di generazione completa. CLEAN
IGNORE

Opzioni JavaCore

Descrizione Valori
Calcolo dell'ordine di generazione del progetto (CORE_JAVA_BUILD_ORDER)
Indica se JavaCore deve rafforzare l'ordine di generazione del progetto in base alla catena di prerequisiti del percorso classi. Quando si richiede il calcolo, tale calcolo sostituisce l'ordine predefinito della piattaforma, in base ai riferimento del progetto). COMPUTE
IGNORE
Formato codifica di origine predefinito (CORE_ENCODING)
Visualizza il formato di codifica per le origini compilate. Questa impostazione è di sola lettura ed è equivalente a ResourcesPlugin.getEncoding(). qualsiasi nome codifica supportato.
Il valore predefinito corrisponde al valore predefinito della piattaforma
Percorso classi incompleto (CORE_INCOMPLETE_CLASSPATH)
Indica la gravità del problema riportato quando una voce non esiste nel percorso classi, non è legittimata o non è visibile (ad esempio con un progetto di riferimento chiuso). ERROR
WARNING
Ciclo del percorso classi (CORE_CIRCULAR_CLASSPATH)
Indica la gravità del problema riportato quando un progetto è inserito in un ciclo. ERROR
WARNING
Abilitazione dell'utilizzo dei modelli di esclusione del percorso classi (CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS)
Quando l'opzione è impostata su "disabled", nessuna voce del percorso classi di un progetto può essere associata a un modello di esclusione. ENABLED
DISABLED
Abilitazione dell'utilizzo di più percorsi di output del percorso classi (CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT)
Quando l'opzione è impostata su "disabled", nessuna voce del percorso classi di un progetto può essere associata a un percorso di output specifico, impedendo così l'utilizzo di più percorsi di output. ENABLED
DISABLED

Opzioni programma di formattazione

Descrizione Valori
Inserimento di una nuova riga prima della parentesi di apertura (FORMATTER_NEWLINE_OPENING_BRACE)
Con Inserisci, viene inserita una nuova riga prima di una parentesi di apertura, diversamente non viene inserita alcuna riga INSERT
DO_NOT_INSERT
Inserimento di una nuova riga all'interno di un'istruzione di controllo (FORMATTER_NEWLINE_CONTROL_BRACE)
Con Inserisci, viene inserita una nuova riga tra } e else, catch, finally INSERT
DO_NOT_INSERT
Eliminazione di righe vuote (FORMATTER_CLEAR_BLANK_LINES)
Con Elimina tutto, tutte le righe vuote vengono rimosse. Con Conserva una, una sola riga viene conservata e tutte le altre vengono rimosse. CLEAR_ALL
PRESERVE_ONE
Inserimento di una nuova riga tra Else/If (FORMATTER_NEWLINE_ELSE_IF)
Con Inserisci, viene inserita una riga vuota tra else e if, quando sono contigui. Quando si sceglie di non inserire una nuova riga, se possibile, else-if verranno mantenuti sulla stessa riga. INSERT
DO_NOT_INSERT
Inserimento di una nuova riga in un blocco vuoto (FORMATTER_NEWLINE_EMPTY_BLOCK)
Con Inserisci, viene inserita una interruzione di riga tra { e } contigui, se } non è seguito da una parola chiave. INSERT
DO_NOT_INSERT
Divisione di righe eccedenti la lunghezza prestabilita (FORMATTER_LINE_SPLIT)
Abilita la divisione di righe lunghe (eccedenti la lunghezza configurabile). Una lunghezza 0 disabiliterà la divisione di righe un numero intero positivo.
Il valore predefinito è 80
Compattazione delle assegnazioni (FORMATTER_COMPACT_ASSIGNMENT)
Le assegnazioni possono essere formattate asimmetricamente, ad esempio 'int x= 2;', specificando Normale, viene inserito uno spazio prima dell'operatore di assegnazione COMPACT
NORMAL
Definizione di caratteri di rientro
Scegliere di effettuare il rientro con caratteri di tabulazione o con spazi TAB
SPACE
Definizione della lunghezza del rientro in spazi (FORMATTER_TAB_SIZE)
Quando si utilizzano gli spazi, imposta il numero di spazi da utilizzare per ciascun rientro. un numero intero positivo.
Il valore predefinito è 4
Inserimento di spazi in espressioni cast (FORMATTER_SPACE_CASTEXPRESSION)
Con Inserisci, uno spazio viene aggiunto tra il tipo e l'espressione in un'espressione cast. INSERT
DO_NOT_INSERT

Opzioni CodeAssist

Descrizione Valori
Attiva completamento sensibile alla visibilità (CODEASSIST_VISIBILITY_CHECK)
Quando questa opzione è attiva, il completamento non mostra elementi non visibili (ad esempio, i metodi privati di una superclasse non sono visibili). ENABLED
DISABLED
Qualifica automatica di membri impliciti (CODEASSIST_IMPLICIT_QUALIFICATION)
Quando questa opzione è attiva, il completamento esegue automaticamente la qualifica su espressioni di messaggi e riferimenti di campi impliciti. ENABLED
DISABLED
Definizione di prefissi per i nomi dei campi (CODEASSIST_FIELD_PREFIXES)
Quando i prefissi non sono vuoti, il completamento per i nomi dei campi inizia con uno dei prefissi proposti. {<prefix>[,<prefix>]*}.
Il valore predefinito è ""
Definizione di prefissi per i nomi dei campi statici (CODEASSIST_FIELD_PREFIXES)
Quando i prefissi non sono vuoti, il completamento per i nomi dei campi statici inizia con uno dei prefissi proposti. {<prefix>[,<prefix>]*}.
Il valore predefinito è ""
Definizione di prefissi per i nomi delle variabili locali
Quando i prefissi non sono vuoti, il completamento per i nomi delle variabili locali inizia con uno dei prefissi proposti. {<prefix>[,<prefix>]*}.
Il valore predefinito è ""
Definizione di prefissi per i nomi degli argomenti (CODEASSIST_ARGUMENT_PREFIXES)
Quando i prefissi non sono vuoti, il completamento per i nomi degli argomenti inizia con uno dei prefissi proposti. {<prefix>[,<prefix>]*}.
Il valore predefinito è ""
Definizione di suffissi per i nomi dei campi (CODEASSIST_FIELD_SUFFIXES)
Quando i suffissi non sono vuoti, il completamento per i nomi dei campi termina con uno dei suffissi proposti. {<suffix>[,<suffix>]*}.
Il valore predefinito è ""
Definizione di suffissi per i nomi dei campi statici (CODEASSIST_FIELD_SUFFIXES)
Quando i suffissi non sono vuoti, il completamento per i nomi dei campi statici termina con uno dei suffissi proposti. {<suffix>[,<suffix>]*}.
Il valore predefinito è ""
Definizione di suffissi per i nomi delle variabili locali
Quando i suffissi non sono vuoti, il completamento per i nomi delle variabili locali termina con uno dei suffissi proposti. {<suffix>[,<suffix>]*}.
Il valore predefinito è ""
Definizione di suffissi per i nomi degli argomenti (CODEASSIST_ARGUMENT_SUFFIXES)
Quando i suffissi non sono vuoti, il completamento per i nomi degli argomenti termina con uno dei suffissi proposti. {<suffix>[,<suffix>]*}.
Il valore predefinito è ""

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