O Que Há de Novo no 3.1

Este documento contém descrições de algumas das alterações mais interessantes ou significativas feitas nas ferramentas de desenvolvimento Java para o release 3.1 do Eclipse desde a 3.0. Ele é dividido em várias seções:

J2SE 5.0


J2SE 5.0

O Eclipse 3.1 inclui suporte completo para os novos recursos do J2SE 5.0 (também conhecido como "Tiger"). Uma das mais importantes conseqüências desse suporte é que você pode não notá-lo de modo algum -- tudo o que você espera que funcione com o J2SE 1.4, incluindo edição, assistente de código, compilação, depuração, correções rápidas, recriações, ações de origem, procuras, etc. funcionará transparentemente com os novos tipos e a sintaxe do J2SE 5.0.

Para desenvolver a conformidade de código com o J2SE 5.0, você precisa de um JRE 5.0 (Java Runtime Environment). Se você iniciar o Eclipse pela primeira vez utilizando um JRE 5.0, ele será utilizado por padrão. Caso contrário, você precisará utilizar o diálogo JREs Instalados para registrar um com o Eclipse. É possível chegar a esse diálogo por meio de preferência Java > JREs Instalados ou seguindo o link Configurar padrão... no assistente Novo Projeto Java.

Assistente de Novo Projeto Java


Correção Rápida para
atualizar o JRE e conformidade com o compilador para 5.0

Uma nova correção rápida ajuda a alterar as configurações de conformidade quando você tenta digitar construções 5.0 em um projeto 1.4. Observe que um JRE 1.5 requerido, o qual pode ser incluído na página de preferências de 'JREs Instalados'.

Correção Rápida Alterar Conformidade


Assistentes de Novo Tipo suportam genéricos

Os assistentes de Novo Tipo suportam os tipos genéricos do J2SE 5.0 em vários campos:
  • O campo Nome pode incluir declarações de parâmetro type.
  • A Superclasse e as Interfaces implementadas podem incluir argumentos de tipo genérico.

Imagem do assistente de Novo Tipo


Criando Enumerações e Anotações

Enumerações e Anotações podem ser criadas com o assistente de Nova Enumeração ou Anotação:

Assistente de Enumeração


Supondo para argumentos de tipo

O Assistente de Código insere os argumentos de tipo correto ao concluir um tipo no editor Java. Os argumentos de tipo cuja ambigüidade não pode ser removida serão selecionados e a tecla Tab moverá de um argumento para o próximo.

Neste exemplo String é inserido como o primeiro argumento de tipo, enquanto Number é proposto para o segundo:

Captura de Tela: um 'HashMap' é retornado de um método, declarando 'Map<String, ? Extends Number>' como tipo de retorno. String é inserido como o primeiro argumento de tipo, enquanto 'Number' é proposto para o segundo

Para testar este recurso, é preciso ativar Preencher Nomes de Argumentos na página de preferências Java > Editor > Assistente de Código.


Declaração de parâmetro type ocultando outro diagnóstico de tipo

Opcionalmente, o compilador Java pode sinalizar uma declaração de parâmetro type ocultando outro tipo.

Imagem do editor Java com parâmetro type ocultando outro aviso de tipo


Renomear recriação

A recriação Renomear foi estendida para manipular a renomeação de parâmetros type.

Captura de Tela mostrando a renomeação de um parâmetro type em uma classe genérica


Inferir Argumentos de Tipo Genérico
recriando

Com o J2SE 5.0, o código pode utilizar genéricos para aprimorar a possibilidade de leitura e a segurança de tipo estático. Recriar > Inferir Argumentos de Tipo Genérico é uma nova recriação que ajuda os clientes de bibliotecas de classes genéricas, como a Estrutura de Coletas Java, a migrarem seu código.

Aumentar Clientes de Contêiner Não-Processado - Antes

A recriação infere parâmetros type para tipos genéricos e removerá quaisquer coerções desnecessárias. Ela funciona em unidades de compilação única, bem como em todos os pacotes e projetos Java.

Aumentar Clientes de Contêiner Não-Processado - Após


Correções Rápidas para Genéricos

Para tipos Java não resolvidos, agora você também obtém uma proposta para criar um novo parâmetro type:

Incluir correção rápida de parâmetro type

Suporte para tags Javadoc para parâmetros type foi incluído. No J2SE 5.0, você documenta parâmetros type, utilizando a tag @param existente, mas com o nome incluído entre sinais de maior e menor.

Correção rápida de Javadoc para parâmetro type


Novos filtros de resultados de procura para procura de referência para tipos com parâmetros

Ao procurar por referências para um tipo com parâmetros, como List<Integer>, o resultado da procura conterá referências a todas as ocorrências da Lista também. Agora a visualização do resultado da procura oferece dois filtros adicionais para ocultar correspondências:

  • Filtrar correspondências incompatíveis: este filtro oculta todos os resultados que não são designações compatíveis com o padrão de procura. Por exemplo, ao procurar por List<Integer> a filtragem de correspondências incompatíveis ocultará List<String>, mas não List<? extends Number>.
  • Filtrar correspondências inexatas: este filtro oculta todos os resultados que não correspondem exatamente ao padrão. Para o exemplo acima o filtro também ocultará List<? extends Number>.

Correção rápida Incluir parâmetro type


Conclusão em anotações

A conclusão do código dentro de uma única anotação do membro ou o valor do atributo annotation é suportada.

Imagem do editor Java concluindo em um atributo annotation


Uso do tipo annotation como diagnóstico de superinterface

No J2SE 5.0, a linguagem Java permite que uma classe implemente um tipo annotation. No entanto, isso deve ser desencorajado. Opcionalmente, o compilador Java sinaliza esse tipo de uso.

Imagem do editor Java com uso de tipo annotation como aviso de superinterface


Suporte para anotação de @SuppressWarnings

A anotação de @SuppressWarnings do J2SE 5.0 é suportada. Os nomes do token de aviso reconhecidos são: "alls", "boxing", "dep-ann", "deprecation", "incomplete-switch", "hiding", "finally", "static-access", "nls", "serial", "synthetic-access", "unqualified-field-access", "unchecked", "unused" and "warningToken". No exemplo a seguir, o primeiro campo é ativado com a anotação @SuppressWarnings("substituição") e nenhum aviso de reprovação é relatado. O segundo campo não contém tags e um aviso de reprovação é relatado.

Imagem do editor Java mostrando o uso de @SuppressWarnings

Observe que uma opção do compilador controla se as anotações @SuppressWarnings estão ativas ou não. Consulte a preferência Java > Compilador > Erros/Avisos > Opções do J2SE 5.0 > Ativar Anotações '@SuppressWarnings'

Por padrão, os tokens de avisos não manipulados são sinalizados por um aviso. Esse aviso também pode ser suprimido, utilizando a anotação @SuppressWarnings("warningToken").

Imagem do editor Java mostrando o uso de warningToken


Correção rápida
suporte para
@SuppressWarnings

Os avisos que podem ser suprimidos, utilizando uma anotação @SuppressWarning oferecem uma correção rápida para fazer isso. Aplicando correção rápida ao aviso local não utilizado a seguir

Correção rápida Aviso de Supressão

resulta em:

Problema de aviso suprimido não utilizado


Diagnóstico de anotação @Override ausente

Opcionalmente, o compilador Java pode sinalizar um método que substitui um método de superclasse, mas perdendo uma anotação de @Override adequada. As anotações @Override ausentes podem ser incluídas, utilizando a Correção Rápida.

Imagem do editor Java com método sem aviso de @Override

Consulte a preferência Java > Compilador > Erros/Avisos > Opções do J2SE 5.0 > Anotação '@Override Ausente

Diagnóstico de anotação @Deprecated ausente

O compilador Java reconhece as anotações @Deprecated e trata-as de maneira equivalente ao comment doc /** @deprecated */. Opcionalmente, ele pode sinalizar construções reprovadas, que não têm uma anotação @Deprecated adequada (para encorajar o uso de anotações em vez da tag doc comment).

Imagem do editor Java com aviso de anotação @Deprecated ausente

Consulte preferência em Java > Compilador > Erros/Avisos > Opções do J2SE 5.0 > Anotação '@Deprecated' Ausente

Diagnóstico de instrução switch de enumeração incompleta

Opcionalmente, o compilador Java pode sinalizar instruções switch de enumeração incompleta.

Imagem do editor Java com aviso de instrução switch de enumeração incompleta

Consulte preferência em Java > Compilador > Erros/Avisos > Opções do J2SE 5.0 > Nem todas as Constantes de Enumeração Cobertas em 'switch'

Diagnóstico do compilador para identificador 'enum'

O compilador Java pode localizar e sinalizar onde 'enum' é utilizado como um identificador. Embora 'enum' seja um identificador válido até o nível de origem 1.4, ele é uma palavra-chave reservada na origem 5.0. A ativação desse aviso ajuda a antecipar problemas de migração de origem. Consulte a preferência Java > Compilador > Conformidade com JDK > Invalidar Identificador Chamado 'enum'.

Diagnóstico opcional do compilador para identificador 'enum'


Correção Rápida para
criar constantes de enumeração

A Correção Rápida suporta a criação de constantes de enumeração. No exemplo a seguir a constante BLUE está ausente da enumeração Colors

Diagnóstico opcional do compilador para identificador 'enum'


Parâmetro Autoboxing
propostas

Os parâmetros propostos incluem propostas de auto(un-)boxing:

Captura de Tela mostrando propostas de autoboxing

Nota: A preferência Java > Editor > Assistente de Código > Preencher Nomes de Argumentos na Conclusão precisa estar ativada.


Diagnóstico de Boxing/
uboxing

O recurso autoboxing do J2SE 5.0 é eficiente mas ele pode levar a um comportamento inesperado, especialmente ao transmitir argumentos. O compilador introduz um diagnóstico opcional que indica quando o autoboxing ou o autounboxing é executado. No exemplo a seguir, pode-se pensar que foo(Integer) será chamado, mas como o autounboxing é executado, foo(int) é chamado.

Imagem do editor Java com aviso de unboxing

Consulte a preferência em Java > Compilador > Erros/Avisos > Opções do J2SE 5.0 > Conversões de Boxing e Unboxing.

Suporte para J2SE 5.0 no editor Java

O editor Java fornece coloração de sintaxe para os novos recursos de linguagem do J2SE 5.0. Vá para a página de preferências Java > Editor > Coloração de Sintaxe para alterar as cores ou para ativar a coloração semântica de variáveis type, elementos annotation e expressões auto(un-)boxed:

Captura de Tela mostrando coloração de sintaxe de enum, annotations, elementos de annotation, variáveis type e expressões autoboxed


Novo para gabarito de loop

O gabarito foreach insere um novo 'for' loop no código, propondo as instâncias locais Iterable que você pode desejar repetir:

Captura de tela mostrando um gabarito for-loop


Converter em for loop aprimorado

Uma nova Assistência Rápida (Ctrl+1) é oferecida para converter for loops de estilo antigo sobre matrizes e coletas em for loops aprimorados do J2SE 5.0:

Imagem de conversão em exemplo de for loop aprimorado

A Correção Rápida simplifica o loop para:

Imagem demonstrando o resultado da assistência rápida de for loop aprimorado


Argumento Varargs
precisando de uma coerção

Opcionalmente, o compilador Java pode sinalizar chamadas de método varargs suspeitas. Um último argumento nulo não é agrupado como uma matriz de 1 elemento como se pode esperar. A inclusão de uma coerção explícita torna clara a intenção do código.

Os diagnósticos do compilador exigiam coerção para argumentos varargs

A configuração de preferência pode ser localizada em Java > Compilador > Erros/Avisos > Opções do J2SE 5.0 > Correspondência de Tipo Inexato para Argumentos vararg.


A conclusão utiliza importações estáticas

A conclusão do código no editor Java pode processar importações estáticas ao inferir conclusões relativas ao contexto.

Imagem do editor Java concluindo e localizando o método de Matemática de importação estática.*


Grupo de Importação
Estático

Para organizar importações estáticas, crie grupos para as importações estáticas e coloque-os onde preferir. Você pode definir um grupo 'outros' para coletar até todas as importações não correspondidas por qualquer outro grupo:

Grupo de importações estáticas

O recurso do grupo 'outros' também está disponível para importações não-estáticas.


Suporte para
package-info.java

O suporte foi incluído para o arquivo de origem especial package-info.java, que permite pacotes de anotação e de documentação. Todas as ferramentas JDT (assistente de código, seleção de código, procura, esboço, hierarquias de tipo, etc.) podem ser utilizadas nesta unidade de compilação especial.

Os comentários de documento dentro do package-info.java são processados e a sintaxe e as referências em tags de comentário padrão são verificadas.

Imagem do Explorador de Pacotes e editor Java no package-info.java


Formatador de código para constructos do J2SE 5.0

O formatador de código suporta todos os novos constructos de linguagem do J2SE 5.0. O controle sobre como o formatador os manipula está localizado na página de preferências Java > Estilo de Código > Formatador de Código:

Imagem da página de preferências do formatador de espaço em branco


Depurando código fonte 5.0

É possível executar e depurar o código fonte 5.0 com um JRE 1.5. As avaliações de depuração Java suportam os constructos do J2SE 5.0 como for loops genéricos e aprimorados.

Alteração de nomenclatura do arquivo de classe para tipos internos locais

No modo de conformidade do 5.0, o compilador Java gera arquivos de classe que seguem a convenção de nomenclatura especificada no JLS 13.1 (3ª edição) para tipos internos locais. Como conseqüência, no exemplo a seguir, em vez de gerar um arquivo denominado X$1$A.class, ele será simplesmente X$1A.class.

Imagem do Navegador com arquivo de classe de tipo interno local


Depurador Java


Pontos de interrupção de
watchpoints
e entrada de método

Um clique duplo na régua do editor Java cria watchpoints nos pontos de interrupção de campos e de entrada de método nas declarações de método.

Bloqueios e conflitos

Os bloqueios pertencentes a um encadeamento, bem como o bloqueio pelo qual um encadeamento está aguardando, podem ser exibidos em seqüência na visualização Depuração, comutando o item de menu Mostrar Monitores no menu drop-down da visualização Depuração. Os encadeamentos e bloqueios envolvidos em um conflito são destacados em vermelho.

Um conflito exibido na visualização Depuração


Navegando nos rastreios de pilha

Copie e cole um rastreio de pilha no Console de Rastreio de Pilha Java e utilize hyperlinks para navegar no rastreio. O Console do Rastreio de Pilha Java pode ser aberto no menu drop-down Abrir Console na visualização Console. Os rastreios de pilhas colados podem ser formatados por meio da ligação de teclas padrão Formato.

Console do Rastreio de Pilha Java


'toString()' inline

O valor toString()-computed de uma variável pode ser exibido em seqüência na árvore de visualização Variáveis, bem como na área de detalhes. O comando Formatadores de Detalhes Java... no menu drop-down da visualização é utilizado para configurar como esse recurso funciona.

Exemplo de Inline toString()


Estruturas lógicas definidas pelo usuário

Agora o depurador Java permite que você controle o que é mostrado na visualização variáveis para diferentes tipos de objetos. Por exemplo, coletas podem ser exibidas como uma simples matriz de valores, em vez de detalhes excessivos de como esse objeto de coleta específico é implementado.

Isso é feito na página de preferências Java > Depurar > Estruturas Lógicas, onde você associa a uma classe ou interface específica uma expressão única (por exemplo, this.toArray()) ou uma série de expressões nomeadas. Quando o objeto deve ser mostrado na visualização variáveis, as expressões são avaliadas para produzir os valores a serem exibidos.

Diálogo para edição da estrutura lógica do Java


Modificação do valor da variável aprimorada

Agora o depurador Java permite que você altere o valor de variáveis, digitando uma expressão no diálogo Alterar Valor ou na área de detalhes da visualização de variáveis e pressionando Salvar.

Diálogo para edição de uma expressão para substituir o valor atual de uma variável


Localizar variável

A ação Localizar Variável na visualização Variáveis permite digitar o nome de uma variável que você está procurando. Conforme você digita, a visualização Variáveis seleciona a próxima variável visível que corresponde ao texto digitado. Da mesma forma, o diálogo Localizar Variável mostra variáveis que correspondem ao texto digitado até agora.


Conexões Javadoc

Agora é possível associar um local diferente de Javadoc a cada JAR em bibliotecas de um JRE.

Diálogo que mostra um local de javadoc por biblioteca JRE


Compilador Java


Configurações do Novo
Compilador Javadoc

Quando a verificação do Javadoc está ativada, você pode configurá-la como
  • aviso quando as tags @see e @link fazem referência a elementos reprovados
  • aviso quando as tags @see e @link fazem referência a elementos que não estão visíveis

As configurações estão na página de preferências Java > Compilador > Javadoc.


Designação sem diagnóstico de efeito para expressão postfix

O diagnóstico opcional para designação sem efeito detecta o caso em que uma expressão postfix é designada à mesma variável, ou seja, i = i++;

Imagem de designação de expressão post fix


UID da Versão Serial

Existe um novo diagnóstico opcional do compilador para classes seriáveis ausentes de uma declaração de um campo serialVersionUID.

A configuração de preferências pode ser localizada em Java > Compilador > Erros/Avisos > Problemas Potenciais de Programação


Detecção precoce de referências a classes internas

É possível anotar entradas da biblioteca (e do projeto) no caminho de construção Java (Propriedades > Caminho de Construção Java > Bibliotecas) para identificar todos os pacotes internos que você deseja evitar fazer referência diretamente do código. Por exemplo, geralmente não é uma boa idéia depender de qualquer um dos pacotes específicos ao fornecedor, como com.ibm.* ou com.sun.*, normalmente localizados nas bibliotecas do J2SE. As restrições de acesso são expressas com uma combinação de regras de inclusão e exclusão em entradas do caminho de construção. A sintaxe padrão segue a anotação do conjunto de arquivos Ant e corresponde ao caminho para o arquivo de classe. Por exemplo, a utilização do padrão com/ibm/** como uma regra de exclusão restringirá o acesso a todas as classes no pacote com.ibm e seus subpacotes. A utilização do padrão org/eclipse/**/internal/** como uma regra de exclusão capturará todas as classes para pacotes internos do Eclipse. Quando você fornece as regras de inclusão, tudo o que corresponder a essas regras estará ok e tudo a mais será considerado fora dos limites.

A configuração de preferência Java > Compilador > Erros/Avisos > API reprovada e restrita permite que você controle se as referências errôneas são sinalizadas como erros ou avisos (por padrão, elas são erros para referência proibida e avisos para referências desencorajadas).

Imagem do diálogo Propriedades do Caminho de Construção Java


Regras de acesso em bibliotecas e projetos

As regras de acesso podem ser definidas em bibliotecas e projetos referidos para permitir/proibir/desencorajar explicitamente o acesso a tipos específicos.

Imagem do assistente de Caminho de Construção com regras de acesso


Editor Java


Ícones e legendas de inclusão aprimoradas

Ao incluir um elemento Java, a linha restante no editor Java é aquela que contém o nome do elemento. A primeira linha de comentário é exibida para comentários de Javadoc incluídos. Os novos ícones de inclusão reduzidos mostrados no editor Java, agora diferem dos indicadores de implementos e de substituição:

Imagem da nova ilustração de inclusão


Inclusão de comentário de cabeçalho

Os comentários de cabeçalho e as instruções de direitos autorais em arquivos de origem Java podem ser incluídos:

Captura de tela mostrando um comentário de cabeçalho incluído


Marcar ocorrências de métodos herdados

O editor Java pode destacar todas as declarações de método que implementam ou substituem métodos herdados do supertipo selecionado. Consulte a configuração de preferência Java > Editor > Marcar Ocorrências > Método que Implementa uma Interface.

Imagem de Marcar Ocorrências Implementadas


Menu Rápido Novas Ocorrências

Um menu de contexto com procuras de ocorrências pode ser aberto no editor Java, pressionando Ctrl+Shift+U.

Nota: Aqueles que preferirem o comportamento antigo podem designar novamente a seqüência de teclas acima para o comando "Procurar Todas as Ocorrências no Arquivo".


Realce de membros de classes reprovadas no editor Java

Os membros de classes reprovadas são marcados por realce antecipado:

Realce de membros reprovados

Isso é configurável na página de preferências Java > Editor > Coloração de Sintaxe.

Referências no Javadoc

O Eclipse agora reconhece referências a elementos Java dentro de comentários do documento (ou seja, tags @see, @link, @linkplain, @throws, @exception, @param ou @value). Isso ativa a ajuda instantânea e a vinculação com o elemento Java referido.

Imagem do editor Java com foco em Javadoc


Conclusão aprimorada em palavra vazia

A conclusão do código Java em uma palavra vazia não propõe mais automaticamente todos os tipos visíveis no local da conclusão. Você precisa digitar o primeiro caractere do tipo para obter uma proposta de conclusão.

Imagem do editor Java mostrando conclusão em palavra vazia


Descrição de dica de ferramenta para Javadoc

O Javadoc que é mostrado por meio de Editar > Mostrar Descrição de Dicas de Ferramenta (F2) é mostrado no widget do Navegador SWT.


Mover linhas ajusta o recuo

Os comandos Mover Linhas (Alt+Up/Down) e Copiar Linhas (Ctrl+Alt+Up/Down) ajustam automaticamente o recuo das linhas selecionadas conforme você as move dentro do editor Java.

Editor do arquivo de propriedades Java aprimorado

Os editores para arquivos de propriedades Java foram aprimorados significativamente. Eles oferecem realce de sintaxe, comportamento de clique duplo aprimorado e uma preferência de fonte separada. As cores de realce da sintaxe são ajustadas na página de preferências Java > Editor de Arquivo de Propriedades. A verificação de ortografia também está disponível e a Correção Rápida (Ctrl+1) pode ser utilizada para corrigir problemas de ortografia.

Imagem do Editor de Arquivo de Propriedades Java


Trabalhando com cadeias externalizadas

Quando você demora sobre uma tecla para uma cadeia externalizada no editor Java, o valor externalizado associado é mostrado em um foco:

Imagem de Externalizar Foco de Cadeia

Clique com a tecla Ctrl nela para navegar diretamente para a entrada no arquivo de propriedades Java correspondente:

Imagem de Clicar com a tecla Ctrl no editor Java


Navegar da chave de propriedade no editor de Arquivo de Propriedades para suas referências

Utilize Navegar > Abrir (F3) ou Clique com a tecla Ctrl para navegar de uma chave da propriedade no editor de Arquivo de Propriedades de volta para lugares no código em que uma referência é feita à chave.

Imagem que mostra o hyperlinking da chave de propriedade


O assistente de Externalizar Cadeias suporta novos pacotes configuráveis de mensagens

O assistente de Externalizar Cadeias suporta o mecanismo de externalização de cadeia do Eclipse que é novo com este release:

Imagem do Assistente de Externalizar Cadeias


Nova API para criar propostas de código como no editor Java

Implementando um editor para uma linguagem parecida com Java? Crie suas próprias propostas de assistente de código semelhantes àquelas propostas no editor Java. Instancie CompletionProposalCollector para obter as mesmas propostas do editor Java ou crie uma subclasse dele para misturar em suas próprias propostas. Utilize CompletionProposalLabelProvider para obter as imagens e etiquetas corretas e classificar as propostas, utilizando CompletionProposalComparator.

Pacote: org.eclipse.jdt.ui.text.java no plug-in org.eclipse.jdt.ui.


Ferramentas Gerais Java


Novo diálogo Tipo Baseado em Padrões Abertos

O diálogo Tipo Baseado em Padrões Abertos foi aprimorado de várias maneiras:
  • Agora existe apenas uma única lista da qual selecionar.
  • Um histórico de tipos abertos recentemente aparece primeiro no diálogo. Os tipos de espaço de trabalho que correspondem ao padrão aparecem abaixo da linha separadora.
  • A correspondência do padrão CamelCase leva você a um tipo com menos pressionamentos de teclas. Por exemplo, TZ corresponde a TimeZone ou IOOBE corresponde a IndexOutOfBoundsException.
  • O conteúdo do diálogo pode ser restrito adicionalmente a um conjunto de tarefas. O conjunto de tarefas pode ser selecionado no menu drop down do diálogo.

Diálogo de tipo baseado em padrões abertos

Também existem alterações de arquitetura principais que não são tão óbvias. Os tipos mostrados no diálogo agora são localizados com um consulta de mecanismo de procura Java. Isso fornece uma economia de 4 a 6 MB em um espaço de trabalho de desenvolvimento normal do Eclipse sobre a abordagem de uso excessivo de memória utilizada anteriormente.


Organizando o Espaço de Trabalho com Muitos Projetos

Utilize Mostrar > Conjuntos de Tarefas no menu de visualização do Explorador de Pacotes para ativar um novo modo que mostra os conjuntos de tarefas como elementos de nível superior. Esse modo facilita bastante o gerenciamento de espaços de trabalho que contêm vários projetos.

Explorador de Pacotes no modo de Conjunto de Tarefas

Utilize Selecionar Conjuntos de Tarefas no menu de visualização do Explorador de Pacotes para configurar quais conjuntos de tarefas são mostrados. O diálogo permite que você crie novos conjuntos de tarefas Java, defina quais conjuntos de tarefas são mostrados e em qual ordem. Conjuntos de tarefas também podem ser reorganizados diretamente no Explorador de Pacotes utilizando as funções arrastar e soltar e copiar/colar.


Página da pasta de origem aprimorada para assistente de novo projeto Java

Uma página de configuração da pasta de origem aprimorada no assistente de criação de projeto Java ajuda na criação de projetos de origem existente. É possível definir entradas da pasta de origem, incluir/excluir pastas diretamente na árvore e testar os resultados da ação imediatamente.

Página Nova Pasta de Origem


Compartilhando configurações de projeto Java

Cada projeto Java pode transportar configurações customizadas para opções do compilador e estilo de código. Essas configurações são armazenadas no próprio projeto e automaticamente aplicadas quando o projeto é carregado (ou atualizado) a partir do repositório.

A modificação das configurações de um projeto Java por meio da UI, grava as configurações em um arquivo automaticamente no diretório .settings. O conteúdo do arquivo de configuração é gerado automaticamente e não deve ser editado diretamente.

Configurações Compartilháveis do Compilador


Navegar para as configurações específicas ao projeto

As páginas de preferências para configurações que também são configuráveis em uma base por projeto oferecem um link para a página de preferências específica ao projeto.

Captura de Tela mostrando o link de configurações por projeto


Locais do Javadoc armazenados no arquivo .classpath

Os locais do Javadoc que estão anexados a arquivos JAR e a pastas de classe estão armazenados no arquivo .classpath para que possam ser compartilhadas com a equipe. Quando o 3.1 é iniciado, uma tarefa de segundo plano migrará todos os locais armazenados internamente anteriormente no arquivo .classpath.

Os locais do Javadoc são utilizados por 'Abrir Javadoc Externo' (CTRL + F2) e pelo assistente do Javadoc.


Atalhos para Correções e Assistências Rápidas

Algumas das assistências rápidas populares como Renomear Em Arquivo e Designar Para Local podem ser chamadas diretamente com Ctrl+2 R e Ctrl+2 L. Verifique a página de preferências de teclas para obter mais correções rápidas que suportam chamada direta.

Página de preferências de teclas com atalhos para assistência rápida


Novas Correções Rápidas

Novas Correções Rápidas foram incluídas para várias opções do compilador Java, por exemplo:
  • ID da versão serial ausente: Captura de tela mostrando correções rápidas da versão serial

Nova Assistência Rápida

Várias Assistências Rápidas (Ctrl+1) foram incluídas no Editor Java:
  • Inverter expressões booleanas:
    Imagem da Assistência Rápida Inverter Condições
  • Inverter uma expressão condicional:
    Assistência Rápida Inverter Condição
    resulta em :
    Resultado invertido
  • Converter expressão condicional (operador ? ) para instrução if-else ou vice-versa
  • Introduzir uma nova variável local após uma verificação de instanceof:
    Designar coerção para local antes da chamada
    resulta em:
    Resultado após a chamada da assistência rápida
  • Dividir literal de subcadeia única:
    Assistência Rápida Escolher Cadeia
    resulta em:
    Resultado da assistência rápida 'Selecionar cadeia'

Recriação de Desfazer/Refazer disponível no menu Editar

Recriação de Desfazer/Refazer agora está disponível no menu Editar e as ações separadas Recriar Desfazer/Refazer foram removidas da barra de menus global. Adicionalmente, as operações de recriação de Desfazer/Refazer agora estão integradas no editor Java Desfazer/Refazer, resultando em um histórico desfazer mais transparente no editor. Por exemplo, uma recriação acionada de dentro do editor agora não pode ser feita no editor, simplesmente pressionando Ctrl+Z.

Ação desfazer no menu de contexto do editor


Ajuste de visibilidade do membro

Os comandos de recriação Mover Método, Mover Tipo de Membro para Novo Arquivo, Mover Membro Estático, Puxar para Cima e Empurrar para Baixo alteram automaticamente a visibilidade de campos referidos, métodos e tipos, sempre que necessário.

Captura de tela mostrando o tipo de membro movido para recriação de novo arquivo


Recriação Mover Método

O comando Recriar > Mover foi estendido para suportar melhor a movimentação de métodos da instância. Os novos recursos incluem:
  • A opção para criar um método delegado para compatibilidade
  • Campos não referidos agora podem também ser destinos do método

Captura de tela mostrando a movimentação da recriação em um método de instância


Recriação Utilizar Supertipo Onde Possível

A recriação Utilizar Supertipo Onde Possível foi estendida com uma preferência que especifica se as ocorrências do tipo em expressões instanceof devem ser atualizadas:

Captura de tela mostrando o assistente Utilizar Supertipo Onde Possível


Menu Caminho de Construção no Explorador de Pacotes

O menu de contexto do Explorador de Pacotes Java possui uma nova entrada de menu 'Construir Caminho', que oferece ações relativas ao contexto para modificar o caminho de construção de um projeto Java. É possível incluir/remover novas pastas de origem, archives e bibliotecas e incluir/excluir pastas e arquivos de uma pasta de origem:

Menu Caminho de Construção


Novo perfil do formatador interno padrão do Eclipse

Embora o perfil do formatador de código 3.0 padrão do Eclipse seja denominado Convenções Java, a formatação de um arquivo utilizando esse perfil, utiliza guias para recuo em vez de espaços. Um novo perfil denominado Eclipse foi incluído, que reflete quais são as opções do formatador padrão durante que utilizam guias para recuo. Para utilizar verdadeiras configurações da Convenção Java, basta alternar o perfil do formatador para Convenções Java, utilizando a página de preferências Java > Estilo de Código > Formatador.

Alterando várias configurações de quebra de linha de uma vez

A página do formatador de código Java permite que você altere várias configurações de quebra de linha de uma vez fazendo várias seleções na árvore e alterando as configurações:

Página de quebra de linha do Formatador de Código

As configurações do formatador de código estão na página de preferências do Java > Estilo de Código > Formatador.


Configurações mistas de recuo

As preferências do formatador Java permitem que o tamanho da guia seja configurado independentemente do tamanho do recuo (consulte a guia Recuo no perfil do formatador):

Página de preferências do formatador Java. Configure as preferências de recuo na guia 'Recuo' do perfil do formatador.

Por exemplo, configure Tamanho da guia como 8 e Tamanho do recuo como 4 para recuar a origem com quatro espaços. Se você configurar a Política da guia como Mista, todas as duas unidades de recuo serão substituídas por um caractere de tabulação.

Os perfis do formatador podem ser configurados na página de preferências Java > Estilo de Código > Formatador.


Reexecutar teste com falha primeiro

Existe uma nova ação na visualização JUnit que permite que você reexecute testes com falha antes de qualquer um dos que foram aprovados.

Reexecutar últimos testes com falha