Opções do Núcleo do JDT

As opções do Núcleo do JDT controlam o comportamento de recursos do núcleo como o compilador Java, formatador de código, assistência ao código e outros comportamentos do núcleo.  As APIs para acessar as opções estão definidas no JavaCore.  As opções podem ser acessadas como um grupo da seguinte maneira:

As opções também pode ser acessadas individualmente através de um nome de cadeia.

As opções são armazenadas como uma tabela hash 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.

O fragmento de código a seguir restaura o valor de todas as opções do núcleo, restabelecendo seus padrões, exceto por um (COMPILER_PB_DEPRECATION), o qual é definido especificamente.

   // 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);
O fragmento de código a seguir mantém o valor das opções atuais e modifica apenas um (COMPILER_PB_DEPRECATION):
   // 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);

Opções específicas do projeto

Os valores das opções podem ser substituídos por projeto utilizando o protocolo emIJavaProject.

O fragmento de código a seguir recupera o valor de uma opção (COMPILER_PB_DEPRECATION) para um projeto específico de duas formas diferentes.  O parâmetro booleano controla se apenas as opções específicas do projeto devem ser retornadas em uma consulta ou se os valores de opções do projeto devem ser mesclados com os valores no JavaCore.

   // Obter o projeto
   IJavaProject project = ...;

   // Observar se o valor de uma opção foi definido neste projeto
   String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, false);
   if (value == null) {
     // nenhuma opção específica foi definida no projeto
     ...
   }
   
   // Obter o valor de uma opção deste projeto.  Utilizar o valor de
   // valor JavaCore, se nenhum estiver especificado para o projeto
   String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, true);

Descrições das Opções do Núcleo do JDT

A tabela a seguir descreve as opções disponíveis do Núcleo do JDT.  O id da opção é mostrado entre parêntesis e o valor padrão é mostrado em itálico e negrito.

Categorias das opções

Opções do Compilador

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 Reprovação Dentro do Código Reprovado (COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE)
Quando ativado, o compilador sinalizará o uso da API reprovada como erro ou aviso. ATIVADO
DESATIVADO
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 Parâmetro Não Utilizado ao Implementar Método Abstrato (COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT)
Quando ativado, o compilador sinalizará parâmetros não utilizados em implementações de método abstrato. ATIVADO
DESATIVADO
Relatando Parâmetro Não Utilizado ao Substituir Método Concreto (COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE)
Quando ativado, o compilador sinalizará parâmetros não utilizados em métodos que substituem métodos concretos. ATIVADO
DESATIVADO
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 Membros Privados Não Utilizados(COMPILER_PB_UNUSED_PRIVATE_MEMBER)
Quando ativado, o compilador emitirá um erro ou um aviso sempre que um método ou campo privado for declarado mas nunca utilizado dentro da mesma unidade. 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
Relatando Referência Não Estática a um Membro Estático (COMPILER_PB_STATIC_ACCESS_RECEIVER)
Quando ativado, o compilador emitirá um erro ou um aviso sempre que um campo ou método estático for acessado com um receptor de expressão. ERRO
AVISO
IGNORAR
Relatando Atribuição Sem Efeito (COMPILER_PB_NO_EFFECT_ASSIGNMENT)
Quando ativado, o compilador emitirá um erro ou um aviso sempre que uma atribuição não tiver nenhum efeito (ex. 'x = x'). ERRO
AVISO
IGNORAR
Relatando Método de Interface Incompatível com Métodos não-Herdados (COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD)
Quando ativado, o compilador emitirá um erro ou um aviso sempre que uma interface definir um método incompatível com um de Objeto não-herdado. ERRO
AVISO
IGNORAR
Relatando Uso de Expressões char[] em Concatenações de Cadeia (COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION)
Quando ativado, o compilador emitirá um erro ou um aviso sempre que uma expressão char[] for utilizada em concatenações de Cadeia (ex. "hello" + new char[]{'w','o','r','l','d'}), 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
Definir as Marcações de Tarefas Automáticas (COMPILER_TASK_TAGS)
Quando a marcação não está vazia, o compilador emitirá um marcador de tarefa sempre que encontrar uma das marcações correspondentes dentro de qualquer comentário no código fonte Java.  As mensagens de tarefas geradas incluirão a marcação e estendendo-se até o próximo separador de linhas ou término de comentário e serão cortadas. {<tag>[,<tag>]*}.
O valor padrão é ""
Definir as Prioridades de Tarefas Automáticas (COMPILER_TASK_PRIORITIES)
Em paralelo às Marcações de Tarefas Automáticas, esta lista define as prioridades (alta, normal ou baixa) dos marcadores de tarefas emitidas pelo compilador.  Se o padrão estiver especificado, a prioridade de cada marcador de tarefa será "NORMAL". {<priority>[,<priority>]*}.
O valor padrão é ""

Opções do Construtor

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
Limpando Pasta(s) de Saída (CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER)
Indique se o JavaBuilder pode limpar as pastas de saída ao executar operações de construção completas. LIMPAR
IGNORAR

Opções do JavaCore

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
Relatando Classpath Incompleto (CORE_INCOMPLETE_CLASSPATH)
Indicar a gravidade do problema relatado quando uma entrada no classpath não existe, não é legítima ou não é visível (ex. um projeto referenciado está fechado). ERRO
AVISO
Relatando o Ciclo do Classpath (CORE_CIRCULAR_CLASSPATH)
Indicar a gravidade do problema relatado quando um projeto está envolvido em um ciclo. ERRO
AVISO
Habilitando o Uso de Padrões de Exclusão do Classpath (CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS)
Quando definido como "desativado", nenhuma entrada no classpath de um projeto pode estar associada a um padrão de exclusão. ATIVADO
DESATIVADO
Habilitando o Uso de Múltiplas Localizações de Saída do Classpath (CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS)
Quando definido como "desativado", nenhuma entrada no classpath de um projeto pode estar associada a uma localização de saída específica, impedindo assim o uso de múltiplas localizações de saída ATIVADO
DESATIVADO

Opções do Formatador

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)
Ativar divisão de linhas grandes (aquelas 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
Inserindo espaço na expressão cast (FORMATTER_SPACE_CASTEXPRESSION)
Quando for Inserir, um espaço é adicionado entre o tipo e a expressão em uma expressão cast. INSERIR
NÃO_INSERIR

Opções do CodeAssist

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
Definir os Prefixos para Nome de Campo (CODEASSIST_FIELD_PREFIXES)
Quando os prefixos não estão vazios, a conclusão para o nome do campo começará com um dos prefixos sugeridos. {<prefix>[,<prefix>]*}.
O valor padrão é ""
Definir os Prefixos para Nome de Campo Estático (CODEASSIST_STATIC_FIELD_PREFIXES)
Quando os prefixos não estão vazios, a conclusão para o nome do campo estático começará com um dos prefixos sugeridos. {<prefix>[,<prefix>]*}.
O valor padrão é ""
Definir os Prefixos para Nome de Variável Local (CODEASSIST_LOCAL_PREFIXES)
Quando os prefixos não estão vazios, a conclusão para o nome da variável local começará com um dos prefixos sugeridos. {<prefix>[,<prefix>]*}.
O valor padrão é ""
Definir os Prefixos para Nome de Argumento (CODEASSIST_ARGUMENT_PREFIXES)
Quando os prefixos não estão vazios, a conclusão para o nome do argumento começará com um dos prefixos sugeridos. {<prefix>[,<prefix>]*}.
O valor padrão é ""
Definir os Sufixos para Nome de Campo (CODEASSIST_FIELD_SUFFIXES)
Quando os sufixos não estão vazios, a conclusão para o nome do campo terminará com um dos sufixos sugeridos. {<suffix>[,<suffix>]*}.
O valor padrão é ""
Definir os Sufixos para Nome de Campo Estático (CODEASSIST_STATIC_FIELD_SUFFIXES)
Quando os sufixos não estão vazios, a conclusão para o nome do campo estático terminará com um dos sufixos sugeridos. {<suffix>[,<suffix>]*}.
O valor padrão é ""
Definir os Sufixos para Nome de Variável Local (CODEASSIST_LOCAL_SUFFIXES)
Quando os sufixos não estão vazios, a conclusão para o nome da variável local terminará com um dos sufixos sugeridos. {<suffix>[,<suffix>]*}.
O valor padrão é ""
Definir os Sufixos para Nome de Argumento (CODEASSIST_ARGUMENT_SUFFIXES)
Quando os sufixos não estão vazios, a conclusão para o nome do argumento terminará com um dos sufixos sugeridos. {<suffix>[,<suffix>]*}.
O valor padrão é ""

 Copyright IBM Corporation e outros 2000, 2003. Todos os Direitos Reservados.