Puede accederse a las opciones del Núcleo de JDT desde algunas API. Todas estas API se encuentran en JavaCore. Sólo son necesarios cuatro métodos para manipular las opciones:
Las opciones se manipulan como tabla de hash de todas las opciones configurables conocidas con sus valores. Se han definido constantes de ayuda en JavaCore para cada ID de opción y sus posibles valores de constante.
Si desea configurar el Núcleo de JDT sólo con sus opciones, el siguiente fragmento de
código debería ser suficiente:
// Obtener las opciones actuales
Hashtable options = JavaCore.getDefaultOptions();
// Cambiar el valor de una opción
options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
// Establecer las opciones nuevas
JavaCore.setOptions(options);
Si desea conservar las opciones actuales y modificar sólo una de ellas:
// Obtener las opciones actuales
Hashtable options = JavaCore.getOptions();
// Cambiar el valor de una opción
options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
// Establecer las opciones nuevas
JavaCore.setOptions(options);
En las tablas que siguen se encuentran todas las opciones del Núcleo de JDT. Todas las tablas tienen la misma organización con el ID de opción entre paréntesis y el valor por omisión en negrita cursiva.
Descripción | Valores |
---|---|
Generar atributo de depuración de variable local ( (COMPILER_LOCAL_VARIABLE_ATTR) | |
Si se genera, este atributo permite visualizar los nombres de variables locales en el depurador, sólo en los lugares en los que las variables estén asignadas claramente (el archivo .class será más grande) | GENERATE |
DO_NOT_GENERATE | |
Generar atributo de depuración de número de línea ( (COMPILER_LINE_NUMBER_ATTR) | |
Si se genera, este atributo permite resaltar el código fuente en el depurador (el archivo .class será más grande) | GENERATE |
DO_NOT_GENERATE | |
Generar atributo de depuración de código fuente (COMPILER_SOURCE_FILE_ATTR) | |
Si se genera, este atributo permite al depurador presentar el código fuente correspondiente. | GENERATE |
DO_NOT_GENERATE | |
Conservar variables locales no utilizadas (COMPILER_CODEGEN_UNUSED_LOCAL) | |
A menos que se ha haya solicitado conservar las variables locales no utilizadas, (es decir, que no se han leído nunca), el compilador las optimizará, alterando potencialmente la depuración. | PRESERVE |
OPTIMIZE_OUT | |
Definir plataforma Java destino (COMPILER_CODEGEN_TARGET_PLATFORM) | |
Por razones de compatibilidad binaria, los archivos .class pueden codificarse con determinadas versiones de VM y posteriores. Tenga en cuenta que el destino "1.4" hace necesario que el usuario conmute también la modalidad de conformidad a "1.4". | VERSION_1_1 |
VERSION_1_2 | |
VERSION_1_3 | |
VERSION_1_4 | |
Notificar código inalcanzable (COMPILER_PB_UNREACHABLE_CODE) | |
El código inalcanzable puede notificarse opcionalmente como un error, un aviso o simplemente pasarse por alto. La generación de bytecode lo optimizará en todos los casos. | ERROR |
WARNING | |
IGNORE | |
Notificar importación no válida (COMPILER_PB_INVALID_IMPORT) | |
Una sentencia de importación que no puede resolverse puede notificarse opcionalmente como un error, un aviso o pasarse por alto. | ERROR |
WARNING | |
IGNORE | |
Notificar intento de alterar temporalmente método por omisión de paquete (COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD) | |
Un método de paquete por omisión no es visible en otro paquete, y por tanto no puede alterarse temporalmente. Si se habilita esta opción, el compilador indicará este tipo de escenario como error o aviso. | ERROR |
WARNING | |
IGNORE | |
Notificar método con nombre de constructor (COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME) | |
Denominar un método con un nombre de constructor se considera generalmente una programación de estilo pobre. Si se habilita esta opción, el compilador indicará este tipo de escenario como error o aviso. | ERROR |
WARNING | |
IGNORE | |
Notificar obsolescencia (COMPILER_PB_DEPRECATION) | |
Si se habilita esta opción, el compilador indicará la utilización de API obsoletas como error o aviso. | ERROR |
WARNING | |
IGNORE | |
Notificar bloque catch oculto (COMPILER_PB_HIDDEN_CATCH_BLOCK) | |
Localmente con respecto a una sentencia try, algunos bloques catch pueden
ocultar a otros, como por ejemplotry { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {}.Si se habilita esta opción, el compilador emitirá un error o aviso para bloques catch ocultos correspondientes a excepciones comprobadas |
ERROR |
WARNING | |
IGNORE | |
Notificar variable local no utilizada (COMPILER_PB_UNUSED_LOCAL) | |
Si se habilita esta opción, el compilador emitirá un error o aviso para las variables locales no utilizadas (es decir, variables en las que no se ha leído nunca) | ERROR |
WARNING | |
IGNORE | |
Notificar parámetro no utilizado (COMPILER_PB_UNUSED_PARAMETER) | |
Si se habilita esta opción, el compilador emitirá un error o aviso para los parámetros de método no utilizados (es decir, parámetros en los que no se ha leído nunca) | ERROR |
WARNING | |
IGNORE | |
Notificar importación no utilizada (COMPILER_PB_UNUSED_IMPORT) | |
Si se habilita esta opción, el compilador emitirá un error o aviso para las referencias a importaciones no utilizadas | ERROR |
WARNING | |
IGNORE | |
Notificar emulación de acceso sintética (COMPILER_PB_SYNTHETIC_ACCESS_EMULATION) | |
Si se habilita esta opción, el compilador emitirá un error o aviso siempre que emule el acceso a un miembro no accesible de un tipo delimitador. Tales accesos pueden tener implicaciones de rendimiento. | ERROR |
WARNING | |
IGNORE | |
Notificar literal de serie no externalizado (COMPILER_PB_NON_NLS_STRING_LITERAL) | |
Si se habilita esta opción, el compilador emitirá un error o aviso para literales de serie no externalizados (es decir, no codificados con //$NON-NLS-<n>$) | ERROR |
WARNING | |
IGNORE | |
Notificar utilización de identificador 'assert' (COMPILER_PB_ASSERT_IDENTIFIER) | |
Si está habilitada, el compilador emitirá un error o aviso siempre que se utilice 'assert' como identificador (palabra clave reservada en 1.4) | ERROR |
WARNING | |
IGNORE | |
Establecer modalidad de compatibilidad de código fuente (COMPILER_SOURCE) | |
Especifique si el código fuente es compatible con 1.3 o 1.4. A partir de 1.4, 'assert' es una palabra clave reservada para el soporte de declaración. Tenga en cuenta también que, al conmutar a la modalidad 1.4, el nivel de VM destino debe establecerse en "1.4" y la modalidad de conformidad debe ser "1.4". | VERSION_1_3 |
VERSION_1_4 | |
Establecer nivel de conformidad (COMPILER_COMPLIANCE) | |
Seleccione el nivel de conformidad del compilador. En la modalidad "1.3", los valores origen y destino no deben ser superiores al nivel "1.3". | VERSION_1_3 |
VERSION_1_4 | |
Número máximo de problemas reportados por unidad de compilación (COMPILER_PB_MAX_PER_UNIT) | |
Especifique el número máximo de problemas notificados en cada unidad de compilación (si el máximo es cero, se notifican todos los problemas). | un entero positivo. El valor por omisión es 100 |
Descripción | Valores |
---|---|
Especificar filtros para control de copia de recursos (CORE_JAVA_BUILD_RESOURCE_COPY_FILTER) | |
Especifique filtros para controlar el proceso de copia de recursos. (<nombre> es un patrón de nombre de archivo (sólo se permiten los comodines *) o el nombre de una carpeta que termine en '/') | {<nombre>[,<nombre>]*}. El valor por omisión es "" |
Cancelar si la vía de acceso de clases no es válida (CORE_JAVA_BUILD_INVALID_CLASSPATH) | |
Se indica al constructor que cancele si la vía de acceso de clases no es válida. | ABORT |
IGNORE |
Descripción | Valores |
---|---|
Calcular orden de construcción de proyecto (CORE_JAVA_BUILD_ORDER) | |
Indica si JavaCore debe obligar a que el orden de construcción del proyecto se base en en la cadena de prerrequisito de la vía de acceso de clases. Si se solicita calcular, esta opción adopta el orden por omisión de la plataforma (basado en las referencias del proyecto). | COMPUTE |
IGNORE | |
Especificare formato de codificación de código fuente por omisión (CORE_ENCODING) | |
Obtener el formato de codificación para los recursos compilados. Este valor es de sólo lectura, y es equivalente a ResourcesPlugin.getEncoding(). | cualquiera de los nombres de codificación soportados. El valor por omisión es el de la plataforma |
Descripción | Valores |
---|---|
Insertar línea nueva antes de llave de apertura (FORMATTER_NEWLINE_OPENING_BRACE) | |
Si se elige INSERT (Insertar), se inserta una línea nueva antes de una llave de apertura; en caso contrario, no se inserta nada | INSERT |
DO_NOT_INSERT | |
Insertar línea nueva dentro de sentencia de control (FORMATTER_NEWLINE_CONTROL) | |
Si se elige INSERT (Insertar), se inserta una línea nueva entre } y else, catch, finally | INSERT |
DO_NOT_INSERT | |
Borrar líneas en blanco (FORMATTER_CLEAR_BLANK_LINES) | |
Si se elige CLEAR ALL (Borrar todo), se eliminan todas las líneas en blanco. Si se elige PRESERVE ONE (Conservar una), se eliminan todas las líneas menos una. | CLEAR_ALL |
PRESERVE_ONE | |
Insertar línea nueva entre Else/If (FORMATTER_NEWLINE_ELSE_IF) | |
Si se elige INSERT (Insertar), se inserta una línea en blanco entre una sentencia else y una sentencia if cuando estas dos sentencias son contiguas. Si se elige no insertar, else-if se mantendrán en la misma línea si es posible. | INSERT |
DO_NOT_INSERT | |
Insertar línea nueva en bloque vacío (FORMATTER_NEWLINE_EMPTY_BLOCK) | |
Si se elige INSERT (Insertar), se insertará una interrupción de línea entre dos llaves { y } contiguas, si no hay ninguna palabra clave a continuación de la llave }. | INSERT |
DO_NOT_INSERT | |
Dividir líneas que sobrepasan la longitud (FORMATTER_LINE_SPLIT) | |
Permitir la división de líneas largas (que superen la longitud configurable). La longitud 0 inhabilitará la división de línea | un entero positivo. El valor por omisión es 80 |
Compactar asignación (FORMATTER_COMPACT_ASSIGNMENT) | |
Las asignaciones pueden formatearse asimétricamente, por ejemplo 'int x= 2;'; en el caso de Normal, se inserta un espacio antes del operador de asignación | COMPACT |
NORMAL | |
Definir carácter de sangrado (FORMATTER_TAB_CHAR) | |
Puede optar por sangrar con caracteres de tabulación o con espacios | TAB |
SPACE | |
Definir longitud de espacio de sangrado (FORMATTER_TAB_SIZE) | |
Si utiliza espacios, establezca la cantidad de caracteres de espacio que deben utilizarse para cada marca de sangrado. | un entero positivo. El valor por omisión es 4 |
Descripción | Valores |
---|---|
Activar conclusión sensible a visibilidad (CODEASSIST_VISIBILITY_CHECK) | |
Si está activa, la conclusión no muestra lo que el usuario no puede ver (por ejemplo, no puede ver los métodos privados de una superclase). | ENABLED |
DISABLED | |
Calificación automática de miembros implícitos (CODEASSIST_IMPLICIT_QUALIFICATION) | |
Si está activa, la conclusión califica automáticamente la conclusión en referencias de campo implícitas y expresiones de mensajes. | ENABLED |
DISABLED |