Novidades no 3.1

Este documento contém descrições de algumas ou mais alterações interessantes ou significativas efectuadas nas ferramentas de programação de para a edição 3.1 do Eclipse a partir da 3.0. Está dividida em várias secções:

J2SE 5.0


J2SE 5.0

O Eclipse 3.1 inclui suporte total para as novas funções do J2SE 5.0 (também conhecido como "Tiger"). Uma das consequências mais importantes deste suporte é que poderá nem sequer reparar nele -- tudo o que espera que funcione com o J2SE 1.4, incluindo edição, assistência de código, compilação, depuração, ajustes rápidos, refactorizações, acções de origem, pesquisas, etc. vai funcionar da mesma forma que nos novos tipos e sintaxe do J2SE 5.0.

Para programar código em conformidade com o J2SE 5.0, vai precisar de um 5.0 Java Runtime Environment (JRE). Se iniciar o Eclipse pela primeira vez a utilizar um 5.0 JRE, vai utilizá-lo por predefinição. Caso contrário, terá de utilizar o diálogo JREs Instalados para registar um com o Eclipse. Pode chegar a este diálogo quer através da preferênciaJava > JREs Instalados quer seguindo a ligação Configurar predefinição... no assistente Novo Projecto Java.

Assistente Novo Projecto de Java


Ajuste Rápido para
actualizar o JRE e o compilador em conformidade com o 5.0

Um novo ajuste rápido ajuda-o a alterar as definições de conformidade quando tentar entrar em construções do 5.0 num projecto do 1.4. Repare que é necessário um 1.5 JRE, que pode ser adicionado na página de preferências 'JRE Instalados'.

Ajuste rápido para alterar a conformidade


Assistentes Novo Tipo suportam genéricos

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

Imagem do assistente Novo Tipo


Criar Enumerações e Anotações

As Enumerações e Anotações podem ser criadas com o novo assistente Enum ou Anotação:

Assistente Enum


Adivinhar argumentos de tipo

A Assistência de Código insere os argumentos de tipo correcto ao concluir um tipo no editor Java. Serão seleccionados os argumentos de tipo em que não pode ser anulada a ambiguidade e a tecla Tab irá mover de um argumento para o seguinte.

Neste exemplo, a Cadeia é inserida como o primeiro argumento de tipo, enquanto que Número é proposto para o segundo:

Imagem de ecrã: é devolvido um 'HashMap' de um método a declarar 'Map<String, ? extends Number>' como tipo de retorno. Cadeia é inserida como o primeiro argumento de tipo, enquanto 'Número' é proposto para o segundo

Para experimentar esta função, tem de activar Preencher nomes de argumentos na página de preferências Java > Editor > Assistência de Código.


Diagnóstico da declaração de parâmetro de tipo a ocultar outro tipo

O compilador Java pode opcionalmente sinalizar a declaração de parâmetro a ocultar outro tipo.

imagem do aviso editor Java com o parâmetro de tipo a ocultar  outro tipo


Mudar o nome a refactorização

Mudar o nome a refactorização foi expandido para processar a mudança de nome de parâmetros de tipo.

Imagem de ecrã que mostra a mudança de nome de um parâmetro de tipo numa classe genérica


Inferir Argumentos de Tipo Genérico
refactorização

Com o J2SE 5.0, o código pode utilizar genéricos para melhorar a leitura e a segurança de tipo estático. Refactorizar > Inferir Argumentos de Tipo Genérico é uma nova refactorização que ajuda os clientes de bibliotecas de classes genéricas, como a Estrutura de Ligações Java, a migrar o respectivo código.

Aumentar Clientes de Contentor em Bruto - Antes

A refactorização infere parâmetros de tipo para tipos genéricos e vai remover as difusões desnecessárias. Trabalha em unidades de compilação únicas, bem como em pacotes completos e projectos Java.

Aumentar Clientes de Contentor em Bruto- Depois


Ajustes rápidos para Genéricos

Para tipos Java não processados, irá agora obter também uma proposta para criar um novo parâmetro de tipo:

Adicionar ajuste rápido do parâmetro de tipo

Foi adicionado suporte para identificadores de Javadoc para parâmetros de tipo. No J2SE 5.0, vai documentar parâmetros de tipo que utilizam o identificador @param existente, mas cujo nome está entre parêntesis rectos.

Ajuste rápido de Javadoc para parâmetro de tipo


Novos filtros de resultados da pesquisa para pesquisa de referência de tipos parametrizados

Ao pesquisar referências a um tipo parametrizado, como List<Integer>, o resultado da pesquisa vai conter referências a todas as ocorrências de List também. A vista do resultado da pesquisa faculta agora dois filtros adicionais para ocultar correspondências:

  • Filtrar correspondências incompatíveis: este filtro oculta todos os resultados que não sejam compatíveis ao nível da atribuição com o padrão da pesquisa. Por exemplo, ao pesquisar List<Integer>, a filtragem de correspondências incompatíveis vai ocultar List<String>, mas não List<? extends Number>.
  • Filtrar correspondências inexactas: este filtro oculta todos os resultados que não correspondam exactamente ao padrão. Para o exemplo acima, o filtro também ocultará List<? extends Number>.

Adicionar ajuste rápido de parâmetro de tipo


Conclusão nas anotações

É suportada a conclusão do código dentro de uma única anotação de membro ou valor de atributo da anotação.

imagem do editor Java a concluir num atributo de anotação


Diagnóstico da utilização do tipo de anotação como uma super interface

No J2SE 5.0, a linguagem Java permite que uma classe implemente um tipo de anotação. Contudo, esta acção deverá ser desencorajada. O compilador Java opcionalmente sinaliza essa utilização.

imagem do aviso editor Java com a utilização do tipo de anotação como uma super interface


Suporte para anotação @SuppressWarnings

É suportada a anotação do J2SE 5.0 @SuppressWarnings. Os nomes de símbolos de aviso reconhecidos são: "all", "boxing", "dep-ann", "deprecation", "incomplete-switch", "hiding", "finally", "static-access", "nls", "serial", "synthetic-access", "unqualified-field-access", "unchecked", "unused" e "warningToken". No exemplo abaixo, o primeiro campo está identificado com a anotação @SuppressWarnings("deprecation") e não é comunicado qualquer aviso de desactualização. O segundo campo não está identificado e é comunicado um aviso de desactualização.

imagem do editor Java a mostrar a utilização de @SuppressWarnings

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

Por predefinição, os símbolos de aviso não processados são sinalizados por um aviso. Este aviso também pode ser suprimido através da utilização da anotação @SuppressWarnings("warningToken").

imagem do editor Java a mostrar a utilização de warningToken


Suporte de
Ajuste rápido para
@SuppressWarnings

Os avisos que podem ser suprimidos através da utilização de uma anotação @SuppressWarning facultam um ajuste rápido para o fazer. A aplicação de um ajuste rápido no aviso local não utilizado abaixo

Ajuste rápido para Suprimir Aviso

resulta em:

Problema no aviso suprimido não utilizado


Diagnóstico da falta da anotação @Override

O compilador Java pode opcionalmente sinalizar um método que substitua um método de superclasse, mas em que falta uma anotação @Override adequada. Podem ser adicionadas as anotações em falta @Override através da utilização do Ajuste Rápido.

imagem do aviso editor Java com o método em que falta @Override

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

Diagnóstico da falta da anotação @Deprecated

O compilador Java reconhece as anotações @Deprecated e processa-as da mesma forma que o comentário doc /** @deprecated */. Opcionalmente, pode sinalizar as construções obsoletas em que falta uma anotação @Deprecated adequada (para encorajar a utilização de anotações, em vez do sinalizador do comentário doc).

imagem do aviso editor Java com a anotação @Deprecated em falta

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

Diagnóstico da instrução de comutação enum incompleta

O compilador Java opcionalmente pode sinalizar as instruções de comutação enum incompletas.

imagem do aviso editor Java com instrução de comutação enum incompleta

Consulte a preferência em Java > Compilador > Erros/Avisos > Opções do J2SE 5.0 > Nem todas as constantes enum abrangidas em 'switch'

Diagnóstico do compilador para identificador 'enum'

O compilador Java pode localizar e sinalizar onde 'enum' é utilizado como um identificador. O 'enum' é um identificador legal até ao nível de origem 1.4, mas é uma palavra-chave reservada na origem 5.0. A activação deste aviso ajuda a antecipar as questões de migração de origem. Consulte a preferência Java > Compilador > Conformidade com JDK > Anular permissão do identificador denominado 'enum'.

Diagnóstico opcional do compilador para o identificador 'enum'


Ajuste Rápido para
criar constantes de enum

O Ajuste Rápido suporta a criação de constantes de enumeração. No exemplo abaixo, falta a constante AZUL na enumeração Cores

Diagnóstico opcional do compilador para o identificador 'enum'


Propostas do parâmetro de
Auto-Encaixe

Os parâmetros propostos incluem propostas de auto-(des)encaixe:

Imagem de ecrã que mostra as propostas de auto-encaixe

Nota: A preferência Java > Editor > Assistência de Código > Preencher nomes dos argumentos ao concluir tem de ser activada.


Diagnóstico de encaixar/
desencaixar

A capacidade de auto-encaixe do J2SE 5.0 é muito forte, porque pode levar a um comportamento inesperado, especialmente ao transmitir argumentos. O compilador introduz um diagnóstico opcional que indica quando é executado o auto-encaixe ou o auto-desencaixe. No exemplo seguinte, poder-se-ia pensar que foo(Integer) seria chamado, mas visto que é executado o auto-desencaixe, é chamado foo(int).

imagem do aviso editor Java com desencaixe

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

Suporte para J2SE 5.0 no editor Java

O editor Java faculta as cores da sintaxe para as novas funções de linguagem do J2SE 5.0. Consulte a página de preferências Java > Editor > Cores da Sintaxe para alterar as cores ou para activar as cores semânticas das variáveis de tipo, elementos das anotações e expressões de auto(des-)encaixe:

Imagem de ecrã que mostra as cores da sintaxe de enum, anotações, elementos das anotações, variáveis de tipo e expressões de auto-encaixe


Novo modelo do ciclo for

O modelo foreach insere um novo ciclo 'for' no código, propondo instâncias Iterable locais que pode querer iterar em:

Imagem de ecrã que mostra um modelo do ciclo-for inserido


Converter para o ciclo for melhorado

Uma nova Assistência Rápida (Ctrl+1) faculta a conversão de ciclos for de estilo antigo com matrizes e recolhas por ciclos for melhorados do J2SE 5.0:

Imagem do exemplo de conversão para ciclo for melhorado

O Ajuste Rápido simplifica o ciclo para:

Imagem que demonstra o resultado da assistência rápida do ciclo for


Argumento Varargs
que necessita de difusão

O compilador Java pode opcionalmente sinalizar invocações suspeitas do método varargs. Um último argumento nulo não é translineado como uma matriz de 1 elemento como seria de esperar; a adição de uma difusão explícita clarifica a intenção do código.

Diagnósticos do compilador que exigem difusão para o argumento varargs

A definição da preferência pode ser encontrada em Java > Compilador > Erros/Avisos > Opções do J2SE 5.0 > Correspondência de tipo inexacta para argumentos vararg.


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 dependentes do contexto.

imagem do editor Java a concluir e localizar o método da importação estática Math.*


Grupos de importação
estática

Para organizar as suas importações estáticas, crie grupos para as importações estáticas e coloque-os onde quiser. Pode definir um grupo 'outros' para recolher todas as importações que não correspondam a qualquer outro grupo:

Grupo de importações estáticas

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


Suporte para
package-info.java

Foi adicionado suporte para o ficheiro origem especial package-info.java, que permite a anotação e documentação de pacotes. Todas as ferramentas de JDT (assistência de código, selecção de código, pesquisa, esquema, hierarquias de tipo, etc.) podem ser utilizadas nesta unidade de compilação especial.

São processados comentários doc dentro de package-info.java e são verificadas a sintaxe e as referências nos identificadores de comentários padrão.

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


Formatador de código para construções do J2SE 5.0

O formatador de código suporta todas as novas construções de linguagem do J2SE 5.0. O controlo sobre a forma como o formatador as processa encontra-se na página de preferências Java > Estilo do Código > Formatador do Código:

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


Depurar código fonte do 5.0

Pode executar e depurar o código fonte do 5.0 com um 1.5 JRE. As avaliações de depuração Java suportam construções do J2SE 5.0, como genéricos e ciclos for melhorados.

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

No modo de conformidade do 5.0, o compilador Java gera ficheiros de classe que seguem a convenção de nomenclatura especificada no JLS 13.1 (3ª edição) para os tipos internos locais. Como consequência, no exemplo abaixo, em vez de gerar um ficheiro denominado X$1$A.class, vai simplesmente ser X$1A.class.

imagem do Navegador com o ficheiro de classe de tipo interno local


Depurador de Java


Pontos de observação e
pontos de interrupção de
método de entrada

Ao fazer duplo clique no regulador do editor Java vai criar pontos de observação em campos e pontos de interrupção de método de entrada em declarações de método.

Bloqueios e impasses

Os bloqueios que pertencem a um módulo, tal como o bloqueio pelo qual um módulo está a guardar, podem ambos ser apresentados em linha na vista Depurar através da comutação do item de menu Mostrar Supervisores no menu pendente da vista Depurar. Os módulos e os bloqueios envolvidos num impasse estão destacados a vermelho.

Um impasse apresentado na vista Depurar


Navegar nos rastreios de pilhas

Copie e cole um rastreio de pilhas para a Consola de Rastreio de Pilhas Java e utilize hiperligações para navegar no rastreio. Pode abrir-se a Consola de Rastreio de Pilhas Java no menu pendente Abrir Consola da vista Consola. Os rastreios de pilhas colados podem ser formatados através da associação de teclas Formatar padrão.

Consola de Rastreio de Pilhas de Java


'toString()' inline

O valor processado toString() de uma variável pode ser apresentado em linha na árvore da vista Variáveis, bem como na área de detalhes. O comando Formatadores de Detalhes Java... no menu pendente da vista é utilizado para configurar a forma como esta função trabalha.

Exemplo de Inline toString()


Estruturas lógicas definidas pelo utilizador

O depurador Java permite-lhe agora controlar o que é apresentado na vista variáveis para tipos diferentes de objectos. Por exemplo, as recolhas podem ser apresentadas como simples matrizes de valores, em vez dos detalhes exaustivos sobre como é implementado aquele objecto de recolha em particular.

Esta acção é efectuada na página de preferências Java > Depurar> Estruturas Lógicas, onde vai associar a uma classe ou interface específica, quer seja uma expressão única (por exemplo, this.toArray()) ou uma série de expressões denominadas. Quando o objecto for apresentado na vista variáveis, as expressões são avaliadas para produzir os valores a apresentar.

Diálogo para editar a estrutura lógica de Java


Modificação do valor da variável melhorada

O depurador Java permite-lhe agora alterar o valor das variáveis inserindo uma expressão no diálogo Alterar Valor ou na área de detalhes da vista variáveis e premindo Guardar.

Diálogo para editar uma expressão para substituir o valor actual de uma variável


Localizar variável

A acção Localizar Variável na vista Variáveis permite-lhe escrever o nome de uma variável que esteja a procurar. Enquanto escreve, a vista Variáveis selecciona a seguinte variável visível que corresponde ao texto inserido. Além disso, o diálogo Localiza variável apresenta as variáveis que correspondem ao texto inserido até então.


Anexos de Javadoc

Agora pode associar uma localização de Javadoc diferente a cada JAR nas bibliotecas do JRE.

Diálogo que mostra uma localização de javadoc por biblioteca de JRE


Compilador de Java


Novas definições
do compilador de Javadoc

Quando está activa a verificação de Javadoc, pode configurá-la para
  • avisar quando os identificadores @see e @link referenciam elementos obsoletos
  • avisar quando os identificadores @see e @link referenciarem elementos que não estão visíveis

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


Diagnóstico de atribuição sem efeito para expressão pós-fixo

O diagnóstico opcional para atribuição sem efeito detecta o caso em que uma expressão de pós-fixo é atribuída à mesma variável, por exemplo, i = i++;

imagem da atribuição da expressão de pós-fixo


IDU da Versão em Série

Existe um novo diagnóstico do compilador opcional para classe serializáveis em que falta uma declaração de um campo IDUVersãoSérie.

A definição da preferência pode ser encontrada em Java > Compilador > Erros/Avisos > Potenciais problemas de programação


Detecção rápida de referências a classes internas

Pode anotar entradas de bibliotecas (e de projectos) no caminho de construção Java (Propriedades > Caminho de Construção Java > Bibliotecas) para identificar quaisquer pacotes internos que pretenda impedir de referenciar directamente do código. Por exemplo, geralmente não é boa ideia depender de qualquer um dos pacotes específicos do fornecedor, como o com.ibm.* ou com.sun.*, normalmente localizados nas bibliotecas do J2SE. São expressas restrições de acesso com uma combinação de regras de inclusão e exclusão nas entradas do caminho de construção. A sintaxe do padrão segue a anotação de conjunto de ficheiro de Ant e é correspondente em relação ao ficheiro de classe. Por exemplo, a utilização do padrão com/ibm/** como uma regra de exclusão iria restringir o acesso a todas as classes no pacote com.ibm e aos respectivos sub-pacotes, a utilização do padrão org/eclipse/**/internal/** como uma regra de exclusão iria capturar todas as classes nos pacotes internos do Eclipse. Quando facultar regras de inclusão, tudo o que corresponda a essas regras está ok e tudo o resto é considerado fora de limites.

A definição da preferência Java > Compilador > Erros/Avisos > API obsoleta e restrita permite-lhe controlar se as referências erradas são sinalizadas como erros ou avisos (são erros por predefinição para referência e avisos proibidos em referências não aconselhadas).

imagem do diálogo propriedades do Caminho de Construção de Java


Regras de acesso a bibliotecas e projectos

As regras de acesso podem ser definidas relativamente a bibliotecas e projectos para permitir/desautorizar/desaconselhar explicitamente o acesso a tipos específicos.

imagem do Assistente do caminho de construção com regras de acesso


Editor Java


Ícones e legendas de compactação melhorados

Quando compactar um elemento Java, a linha remanescente no editor Java é a que contém o nome do elemento. A primeira linha de comentário é apresentada para comentários Javadoc compactados. Os novos ícones finos apresentados no editor Java diferem agora dos indicadores de sobreposição e implementações:

Imagem do novo material gráfico de compactação


Compactação do comentário de cabeçalho

Os comentários de cabeçalho e as instruções de direitos de autor nos ficheiro origem Java podem ser compactados:

Imagem de ecrã que mostra um comentário de cabeçalho compactado


Marcar ocorrências de métodos herdados

O editor Java pode destacar todas as declarações de métodos que implementam ou sobrepõem métodos herdados do super-tipo seleccionado. Consulte a definição da preferência Java > Editor > Marcar Ocorrências > Método que implementa uma interface.

Imagem de marcar ocorrências de Implementação


Menu Rápido Novas Ocorrências

Um menu de contexto com pesquisas de ocorrências pode ser aberto no editor de Java, premindoCtrl+Shift+U.

Nota: Os que preferirem o antigo comportamento podem voltar a atribuir a sequência de teclas acima ao comando "Pesquisar Todas as Ocorrências no Ficheiro".


Destacar os membros da classe obsoleta no editor Java

Os membros da classe obsoleta são marcados pelo destaque avançado:

Destacar os membros obsoletos

Esta acção é configurável na página de preferências Java > Editor > Cores da Sintaxe.

Referências em Javadoc

O Eclipse reconhece agora referências a elementos Java dentro de comentários doc (por exemplo, os identificadores @see, @link, @linkplain, @throws, @exception, @param ou @value). Vai activar a ajuda flutuante e a ligação ao elemento Java referenciado.

imagem do editor Java com ajuda flutuante em Javadoc


Conclusão melhorada numa palavra vazia

A conclusão do código Java já não propõe automaticamente todos os tipos visíveis na localização da conclusão. Tem de escrever o primeiro carácter do tipo que vai obter uma proposta de conclusão.

imagem do editor Java a mostrar a conclusão numa palavra vazia


Descrição da sugestão da ferramenta para Javadoc

O Javadoc que é apresentado através de Editar > Mostrar Descrição da Sugestão da Ferramenta (F2) surge no fragmento do Browser de SWT.


Mover Linhas ajusta a indentação

Os comandos Mover Linhas (Alt+Cima/Baixo) e Copiar Linhas (Ctrl+Alt+Cima/Baixo) ajustam automaticamente a indentação das linhas seleccionadas enquanto as move para dentro do editor Java.

Editor de ficheiro de propriedades Java melhorado

Os editores para ficheiros de propriedades Java foram melhorados significativamente. Facultam destaque de sintaxe, comportamento de duplo clique melhorado e uma preferência de tipo de letra à parte. As cores de destaque da sintaxe são ajustadas na página de preferências Java > Editor do Ficheiro de Propriedades. Também está disponível a correcção ortográfica e o Ajuste Rápido (Ctrl+1) pode ser utilizado para problemas de ajuste na ortografia.

Imagem do editor do Ficheiro de Propriedades Java


Trabalhar com cadeias exteriorizadas

Quando insistir numa tecla para uma cadeia exteriorizada no editor Java, o valor exteriorizado associado é apresentado num menu flutuante:

Imagem do menu flutuante Exteriorizar Cadeias

Ctrl+Clique nela para navegar directamente para a entrada no ficheiro de propriedades Java correspondente:

Imagem de Ctrl+Clique no Editor Java


Navegar da tecla de propriedade no editor do Ficheiro de Propriedades para as respectivas referências

Utilize Navegar > Abrir (F3) ou Ctrl+clique para navegar de uma tecla de propriedade no editor do Ficheiro de Propriedades, de volta para os locais no código onde é referenciada a tecla.

Imagem a mostrar a hiperligação da tecla de propriedade


O assistente Exteriorizar Cadeias suporta novos lotes de mensagens

O assistente Exteriorizar Cadeias suporta o mecanismo de exteriorização de cadeias do Eclipse, que é uma novidade nesta edição:

Imagem do assistente Exteriorizar Cadeias


A nova API vai criar propostas de código como no editor Java

Implementar um editor para uma linguagem semelhante à Java? Crie as suas propostas de assistência de código semelhantes às propostas no editor Java. Instancie CompletionProposalCollector para obter as mesmas propostas que o editor Java ou coloque numa subclasse para misturar com as suas propostas. Utilize CompletionProposalLabelProvider para obter as imagens e as etiquetas correctas e ordene as propostas através da utilização de CompletionProposalComparator.

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


Ferramentas Gerais de Java


Novo diálogo Abrir Tipo

O diálogo Abrir Tipo Java foi melhorado em vários aspectos:
  • Existe agora apenas uma única lista de onde pode seleccionar.
  • Um histórico de tipos abertos recentemente surge primeiro no diálogo; os tipos de espaço de trabalho que correspondem ao padrão surgem por baixo da linha separadora.
  • A correspondência do padrão CamelCase leva-o a um tipo com menos batimentos de teclas. Por exemplo, TZ corresponde a TimeZone ou IOOBE corresponde a IndexOutOfBoundsException.
  • O conteúdo do diálogo pode ainda ser restringido a um conjunto de trabalhos. O conjunto de trabalhos pode ser seleccionado do menu pendente do diálogo.

Diálogo abrir tipo

Também existem grandes alterações arquitecturais ainda por revelar. Os tipos apresentados no diálogo são agora localizados com uma consulta do motor de pesquisa Java. Poupa um total de 4-6MB num espaço de trabalho de programação normal do Eclipse relativamente à abordagem consumidora de memória utilizada anteriormente.


Organizar espaço de trabalho com muitos projectos

Utilize Mostrar > Conjuntos de Trabalhos na vista Explorador de Pacotes para activar um novo modo que apresente os conjuntos de trabalhos como elementos de nível superior. Este modo facilita bastante a gestão de espaços de trabalho que contenham muitos projectos.

Explorador de Pacotes no modo Conjunto de Trabalhos

Utilize Seleccionar Conjuntos de Trabalhos no menu da vista Explorador de Pacotes, para configurar os conjuntos de trabalhos que serão apresentados. O diálogo permite-lhe criar novos conjuntos de trabalhos Java, definir os conjuntos de trabalhos que são apresentados e por que ordem. Os conjuntos de trabalhos também podem ser reorganizados directamente no Explorador de Pacotes, através da utilização de arrastar e largar e copiar/colar.


Página da pasta de origem melhorada para o novo assistente projecto de Java

Uma página de configuração da pasta de origem melhorada no assistente de criação do projecto Java ajuda-o a criar projectos de origens existentes. Pode definir entradas de pastas de origem, incluir/excluir pastas directamente na árvore e testar os resultados da acção imediatamente.

Nova página da pasta de origem


Partilhar definições do projecto Java

Cada projecto Java pode conter definições personalizadas para opções do compilador e estilo de código . Estas definições são armazenadas no próprio projecto e aplicam-se automaticamente quando o projecto é carregado (ou actualizado) do repositório.

A modificação das definições de um projecto Java através da IU escreve automaticamente as definições num ficheiro no directório.settings. (O conteúdo do ficheiro da definição é gerado automaticamente e não tem como objectivo ser editado directamente).

Definições do compilador partilhável


Navegar para as definições específicas do projecto

As páginas de preferências para as definições que também são configuráveis numa base por projecto facultam uma ligação à página de preferências específica do projecto.

Imagem de ecrã que mostra a ligação das definições por projecto


Localizações de Javadoc armazenadas no ficheiro .classpath

As localizações de Javadoc que estão anexadas aos ficheiros JAR e às pastas de classes são armazenadas no ficheiro .classpath, de forma a poderem ser partilhadas com a equipa. Quando se inicia o 3.1, um trabalho de segundo plano vai migrar todas as localizações armazenadas internamente para o ficheiro .classpath.

As localizações de Javadoc são utilizadas por 'Abrir Javadoc Externo' (CTRL + F2) e pelo assistente de Javadoc.


Atalhos para assistências rápidas e ajustes rápidos

Algumas das assistências rápidas populares, como Mudar o Nome no Ficheiro e Atribuir A Local podem ser invocadas directamente com Ctrl+2 R e Ctrl+2 L. verifique a página de preferências de teclas para obter mais ajustes rápidos que suportem a invocação directa.

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


Novos Ajustes Rápidos

Novos Ajustes Rápidos foram adicionados a várias opções do compilador Java, por exemplo:
  • ID da versão de série em falta: Imagem de ecrã que mostra ajustes rápidos da versão de série

Novas Assistências Rápidas

Várias Assistências Rápidas (Ctrl+1) foram adicionadas ao Editor Java:
  • Inverter expressões booleanas:
    Imagem das condições de inversão da assistência rápida
  • Inverter uma expressão condicional:
    Inverter condição da assistência rápida
    resulta em:
    Resultado invertido
  • Converter expressão condicional (operador ? ) para a instrução if-else ou vice versa
  • Introduzir uma nova variável local após uma instância de verificação:
    Atribuir difusão a local antes da invocação
    resulta em:
    Resultado após invocação da assistência rápida
  • Quebrar literal de subcadeia única:
    Escolher assistência rápida da cadeia
    resulta em:
    Resultado de 'Escolher assistência rápida da cadeia

Refactorização Anular/Refazer disponível no menu Editar

A refactorização Anular/Refazer está agora disponível no menu Editar e as acções de Refactorização Anular/Refazer à parte foram removidas da barra de menus global. Além disso, as operações de refactorização Anular/Refazer estão agora integradas com Anular/Refazer do editor Java, resultando num registo de anulação transparente no editor. Por exemplo, uma refactorização activada por parte do editor agora não é passível de ser anulada no editor premindo apenas Ctrl+Z.

Anular acção no menu de contexto do editor


Ajuste da visibilidade do membro

Os comando de refactorização Mover método, Mover Tipo de Membro para Novo Ficheiro, Mover membro Estático, Subir e Descer alteram automaticamente a visibilidade dos campos, métodos e tipos referenciados, sempre que necessário.

Imagem de ecrã que mostra a acção de mover o tipo de membro para a refactorização do novo ficheiro


Refactorização Mover método

O comando Refactorização > Mover foi expandido para melhor suportar a movimentação de métodos de instâncias. As novas funções incluem:
  • A opção de criar um método de delegação para compatibilidade
  • Os campos não referenciados podem agora também ser destinos de método

Imagem de ecrã que mostra a refactorização mover num método de instância


Refactorização Utilizar SuperTipo Onde Possível

A refactorização Utilizar SuperTipo Onde Possível foi expandida com uma preferência que especifica se as ocorrências de tipos em expressões instanceof devem ser actualizadas:

Imagem de ecrã que mostra o assistente utilizar supertipo onde possível


Menu do caminho de construção no Explorador de Pacotes

O menu de contexto do Explorador de Pacotes tem uma nova entrada de menu 'Caminho de Construção', facultando acções dependentes do contexto para modificar o caminho de construção de um projecto Java. Pode adicionar/remover novas pastas, arquivos e bibliotecas de origem e incluir/excluir pastas e ficheiros de uma pasta de origem:

Menu caminho de construção


Novo perfil do formatador incorporado predefinido do Eclipse

Apesar do perfil do formatador do código 3.0 predefinido do Eclipse se chamar Convenções Java, a formatação de um ficheiro através da utilização deste perfil utiliza separadores para indentação em vez de espaços. Foi adicionado um novo perfil intitulado Eclipse, que reflecte o que as opções do formatador predefinido sempre foram, que utiliza separadores para indentação. Para utilizar verdadeiras definições da Convenção Java, simplesmente comute o perfil do formatador para as Convenções Java através da utilização da página de preferências Java > Estilo do Código > Formatador.

Alterar várias definições de translineação de uma só vez

A página do formatador do código Java permite-lhe alterar várias definições de translineação de uma só vez, executando selecções múltiplas na árvore e depois alterando as definições:

Página de translineação do Formatador de Código

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


Definições de indentação mistas

As preferências do formatador Java permite que o tamanho do separador seja configurado de forma independente do tamanho da indentação (consulte o separador Indentação no perfil do formatador):

Página de preferências do formatador Java. Definir as preferências de indentação no separador 'Indentação' do perfil do formatador.

Por exemplo, definir Tamanho do  tabulador para 8 e Tamanho da  indentação para 4 para indentar a sua origem com quatro espaços. Se definir a Política de tabulação para Mista, cada duas unidades de indentação serão substituídas por um carácter de tabulação.

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


Voltar a executar primeiro os testes falhados

Existe uma nova acção na vista JUnit, que lhe permite voltar a executar testes falhados antes dos que estiveram a ser transmitidos.

Voltar a executar últimos testes falhados