As opções do Núcleo do JDT são acessíveis em poucas APIs. Todas essas APIs estão localizadas em JavaCore. São necessários apenas quatro métodos para manipular as opções:
As opções são manipuladas como uma tabela de hashing de todas as opções configuráveis conhecidas com seus valores. As constantes auxiliares foram definidas em JavaCore para cada ID de opção e seus valores de constante possíveis.
Para configurar o Núcleo do JDT apenas com suas opções, o seguinte fragmento de código funcionaria:
// Obter as opções atuais
Opções da tabela de hashing = JavaCore.getDefaultOptions();
// Alterar o valor de uma opção
options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
// Definir as novas opções
JavaCore.setOptions(options);
Para manter as opções atuais e modificar apenas uma delas:
// Obter as opções atuais
Opções da tabela de hashing = JavaCore.getOptions();
// Alterar o valor de uma opção
options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
// Definir as novas opções
JavaCore.setOptions(options);
A lista de todas as opções do Núcleo do JDT estão nas tabelas a seguir. Todas as tabelas possuem a mesma organização com o id da opção entre parênteses e o valor padrão impresso em itálico negrito.
Descrição | Valores |
---|---|
Gerando Atributo de Depuração da Variável Local (COMPILER_LOCAL_VARIABLE_ATTR) | |
Quando gerado, esse atributo ativará os nomes das variáveis locais para serem exibidos no depurador, apenas em locais em que as variáveis são definitivamente atribuídas (o arquivo .class será então maior) | GERAR |
NÃO_GERAR | |
Gerando Atributo de Depuração do Número de Linha (COMPILER_LINE_NUMBER_ATTR) | |
Quando gerado, esse atributo ativará o destaque de código fonte no depurador (o arquivo .class será então maior). | GERAR |
NÃO_GERAR | |
Gerando Atributo de Depuração da Origem (COMPILER_SOURCE_FILE_ATTR) | |
Quando gerado, esse atributo ativará o depurador para apresentar o código fonte correspondente. | GERAR |
NÃO_GERAR | |
Preservando Variáveis Locais Não Utilizadas (COMPILER_CODEGEN_UNUSED_LOCAL) | |
A não ser que solicitado para preservar as variáveis locais não utilizadas (isto é, nunca lidas), o compilador as otimizará, alterando a depuração. | PRESERVAR |
OTIMIZAR | |
Definindo a Plataforma Java de Destino (COMPILER_CODEGEN_TARGET_PLATFORM) | |
Por motivo de compatibilidade binária, os arquivos .class podem ser marcados com certas versões da VM e posteriores. Observe que o destino "1.4" requer que o modo de compatibilidade também seja alternado para "1.4". | VERSÃO_1_1 |
VERSÃO_1_2 | |
VERSÃO_1_3 | |
VERSÃO_1_4 | |
Relatando Código Inatingível (COMPILER_PB_UNREACHABLE_CODE) | |
O código inatingível pode, opcionalmente, ser relatado como erro, aviso ou simplesmente ser ignorado. A geração de código de bytes sempre o otimizará. | ERRO |
AVISO | |
IGNORAR | |
Relatando Importação Inválida (COMPILER_PB_INVALID_IMPORT) | |
Uma instrução de importação que não pode ser resolvida pode, opcionalmente, ser relatada como erro, aviso ou ser ignorada. | ERRO |
AVISO | |
IGNORAR | |
Relatando Tentativa de Substituir Método Padrão do Pacote (COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD) | |
Um método padrão de pacote não é visível em um pacote diferente e, portanto, não pode ser substituído. Ao ativar esta opção, o compilador sinalizará esse cenário como erro ou aviso. | ERRO |
AVISO | |
IGNORAR | |
Relatando Método com o Nome do Construtor (COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME) | |
A nomeação de um método com um nome de construtor geralmente é considerado programação de estilo inadequado. Ao ativar esta opção, o compilador sinalizará esse cenário como erro ou aviso. | ERRO |
AVISO | |
IGNORAR | |
Relatando Desaprovação (COMPILER_PB_DEPRECATION) | |
Quando ativado, o compilador sinalizará o uso da API reprovada como erro ou aviso. | ERRO |
AVISO | |
IGNORAR | |
Relatando Bloco de Captura Oculto (COMPILER_PB_HIDDEN_CATCH_BLOCK) | |
Localmente para uma instrução try, alguns blocos de captura podem ocultar outros, por ex.,
try { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {}.Ao ativar esta opção, o compilador emitirá um erro ou um aviso para blocos de captura ocultos correspondentes a exceções verificadas |
ERRO |
AVISO | |
IGNORAR | |
Relatando Local Não Utilizado (COMPILER_PB_UNUSED_LOCAL) | |
Quando ativado, o compilador emitirá um erro ou um aviso para variáveis locais não utilizadas (isto é, variáveis nunca lidas) | ERRO |
AVISO | |
IGNORAR | |
Relatando Parâmetro Não Utilizado (COMPILER_PB_UNUSED_PARAMETER) | |
Quando ativado, o compilador emitirá um erro ou um aviso para parâmetros de método não utilizados (isto é, parâmetros nunca lidos) | ERRO |
AVISO | |
IGNORAR | |
Relatando Importação Não Utilizada (COMPILER_PB_UNUSED_IMPORT) | |
Quando ativado, o compilador emitirá um erro ou um aviso para referência de importação não utilizada | ERRO |
AVISO | |
IGNORAR | |
Relatando Emulação de Acesso Sintético (COMPILER_PB_SYNTHETIC_ACCESS_EMULATION) | |
Quando ativado, o compilador emitirá um erro ou um aviso sempre que emular o acesso a um membro não acessível de um tipo de inclusão. Esse acesso pode ter implicações no desempenho. | ERRO |
AVISO | |
IGNORAR | |
Relatando Literais de Cadeias Não Externalizadas (COMPILER_PB_NON_NLS_STRING_LITERAL) | |
Quando ativado, o compilador emitirá um erro ou um aviso para literais de cadeias não externalizadas (isto é, não marcadas com //$NON-NLS-<n>$) | ERRO |
AVISO | |
IGNORAR | |
Relatando o Uso do Identificador 'assert' (COMPILER_PB_ASSERT_IDENTIFIER) | |
Quando ativado, o compilador emitirá um erro ou um aviso sempre que 'assert' for utilizado como identificador (palavra-chave reservada no 1.4) | ERRO |
AVISO | |
IGNORAR | |
Definindo o Modo de Compatibilidade de Origem (COMPILER_SOURCE) | |
Especifica se a origem é compatível com 1.3 ou 1.4. Da 1.4 para frente, 'assert' é uma palavra-chave reservada para suporte de asserção. Observe também, que ao alternar para o modo 1.4, o nível da VM de destino deve ser definido para "1.4" e o modo de compatibilidade deve ser "1.4". | VERSÃO_1_3 |
VERSÃO_1_4 | |
Definindo o Nível de Compatibilidade (COMPILER_COMPLIANCE) | |
Selecione o nível de compatibilidade do compilador. No modo "1.3", as definições de origem e de destino não devem ultrapassar o nível "1.3". | VERSÃO_1_3 |
VERSÃO_1_4 | |
Número máximo de problemas relatados por unidade de compilação (COMPILER_PB_MAX_PER_UNIT) | |
Especifique o número máximo de problemas relatados em cada unidade de compilação (se o máximo for zero, todos os problemas serão relatados). | um inteiro positivo. O valor padrão é 100 |
Descrição | Valores |
---|---|
Especificando Filtros para Controle de Cópia de Recurso (CORE_JAVA_BUILD_RESOURCE_COPY_FILTER) | |
Especifique filtros para controlar o processo de cópia do recurso. (<name> é um padrão de nome de arquivo (são permitidos apenas os caracteres curinga *) ou o nome de uma pasta que termina com '/') | {<name>[,<name>]*}. O valor padrão é "" |
Abortar se o Classpath for Inválido (CORE_JAVA_BUILD_INVALID_CLASSPATH) | |
Instrua o construtor para abortar se o classpath for inválido | ABORTAR |
IGNORAR |
Descrição | Valores |
---|---|
Calculando A Ordem de Construção do Projeto (CORE_JAVA_BUILD_ORDER) | |
Indique se o JavaCore deve forçar para que a ordem de construção do projeto seja baseada na cadeia de pré-requisitos do classpath. Ao solicitar o cálculo, é assumida a ordem padrão da plataforma (com base nas referências do projeto). | CALCULAR |
IGNORAR | |
Especificar o Formato de Codificação de Origem Padrão (CORE_ENCODING) | |
Obtenha o formato de codificação das origens compiladas. Esta definição é somente leitura, equivalente a ResourcesPlugin.getEncoding(). | qualquer um dos nomes de codificação suportados. O valor padrão é o padrão da plataforma |
Descrição | Valores |
---|---|
Inserindo Nova Linha Antes da Chave de Abertura (FORMATTER_NEWLINE_OPENING_BRACE) | |
Ao Inserir, uma nova linha é inserida antes de uma chave de abertura, caso contrário, nada é inserido | INSERIR |
NÃO_INSERIR | |
Inserindo Nova Linha Dentro da Instrução de Controle (FORMATTER_NEWLINE_CONTROL) | |
Ao Inserir, uma nova linha é inserida entre a } e else, catch, finally a seguir | INSERIR |
NÃO_INSERIR | |
Limpando Linhas em Branco (FORMATTER_CLEAR_BLANK_LINES) | |
Ao Limpar tudo, todas as linhas em branco são removidas. Ao Preservar uma, apenas uma é mantida e as outras são removidas. | LIMPAR_TUDO |
PRESERVAR_UMA | |
Inserindo Nova Linha Entre Else/If (FORMATTER_NEWLINE_ELSE_IF) | |
Ao Inserir, uma linha em branco é inserida entre um else e um if, quando contíguos. Ao escolher para não inserir, else-if serão mantidos na mesma linha, quando possível. | INSERIR |
NÃO_INSERIR | |
Inserindo Nova Linha em Bloco Vazio (FORMATTER_NEWLINE_EMPTY_BLOCK) | |
Ao inserir, uma quebra de linha é inserida entre { e } contíguas, se } não vier seguida de palavra-chave. | INSERIR |
NÃO_INSERIR | |
Dividindo Linhas com Comprimento Excedente (FORMATTER_LINE_SPLIT) | |
Ative a divisão de linhas longas (que excedem o comprimento configurável). O comprimento 0 desativará a divisão de linhas | um inteiro positivo. O valor padrão é 80 |
Compactando a Atribuição (FORMATTER_COMPACT_ASSIGNMENT) | |
As atribuições podem ser formatadas assimetricamente, por ex., 'int x= 2;', quando Normal, é inserido um espaço antes do operador de atribuição | COMPACTAR |
NORMAL | |
Definindo o Caractere de Alinhamento (FORMATTER_TAB_CHAR) | |
Escolha alinhar com caracteres tab ou espaços | TAB |
ESPAÇO | |
Definindo o Comprimento do Alinhamento de Espaços (FORMATTER_TAB_SIZE) | |
Ao utilizar espaços, defina a quantidade de caracteres de espaço a ser utilizada para cada marca de alinhamento. | um inteiro positivo. O valor padrão é 4 |
Descrição | Valores |
---|---|
Ativar Conclusão Sensível à Visibilidade (CODEASSIST_VISIBILITY_CHECK) | |
Quando ativa, a conclusão não responde ao que não pode ser visto (por ex., você não pode ver métodos particulares de uma superclasse). | ATIVADO |
DESATIVADO | |
Qualificação Automática de Membros Implícitos (CODEASSIST_IMPLICIT_QUALIFICATION) | |
Quando ativa, a conclusão qualifica automaticamente a conclusão em referências de campo e expressões de mensagens implícitas. | ATIVADO |
DESATIVADO |