Aqui estão as descrições de algumas das alterações mais interessantes ou significativas feitas nas ferramentas de desenvolvimento Java para o release 3.2 do Eclipse. Elas são agrupadas em:
Consulte também o documento Plataforma Eclipse: O que Há de Novo no 3.2 para saber as alterações na Plataforma.
Reformulação Java
|
|
Introduzir reformulação de via indireta |
Introduzir Via Indireta é uma nova reformulação que permite redirecionar todos os responsáveis pela chamada de um método para um novo método. O novo método chama o original. Você pode substituir a implementação padrão do novo método por qualquer outra, se desejar. A via indireta é útil quando um novo comportamento precisa ser introduzido em um método mas:
Utilize a via indireta para correções de erro no método original ou como uma forma rápida de incluir código antes ou após chamadas a um método. Para executar a reformulação Introduzir Via Indireta, selecione um método, chame Reformular > Introduzir Via Indireta..., forneça um nome e a classe de declaração para o novo método. O método é incluído na classe de declaração selecionada. E todas as referências são atualizadas para chamar o novo método. |
Extrair reformulação de superclasse |
Uma nova reformulação chamada Extrair Superclasse extrai uma superclasse comum de um conjunto de tipos irmãos. Os tipos irmãos selecionados tornam-se subclasses diretas da superclasse extraída após a aplicação da reformulação. Além disso, Extrair Superclasse permite utilizar a superclasse extraída sempre que possível no código. A próxima figura mostra a hierarquia de tipo depois de extrair Para chamar essa reformulação, utilize Reformular > Extrair Superclasse.... |
Assistente de limpeza |
Limpar pode ser chamado em qualquer número de arquivos de origem Java, pacotes ou em um projeto Java inteiro. Ele ajuda a:
Aqui estão alguns exemplos do que pode ser feito:
Para transportar código compatível com Java 1.4 para 5.0, utilize Limpar para:
Selecione um projeto, pacote ou arquivo e utilize Origem > Limpar... para iniciar esse assistente. |
Histórico de reformulação |
A maioria das reformulações oferecidas pelo JDT são agora acompanhadas em um Histórico de Reformulações. A infra-estrutura de reformulação
armazena informações detalhadas sobre reformulações que foram desempenhadas em seu espaço de trabalho. |
Criar e aplicar scripts de reformulação |
As reformulações desempenhadas em seu espaço de trabalho local podem ser exportadas agora para um Script de Reformulação e reproduzidas no espaço de trabalho arbitrário. Tais scripts de reformulação podem ser utilizados em diferentes cenários, como na correção automática de interrupção de alterações da API entre camadas de software ou do fornecimento de correções com sofisticada semântica. Crie um script de reformulação a partir do histórico de reformulações utilizando Reformular > Criar Script... Para aplicar o script de reformulação gerado em um espaço de trabalho arbitrário, utilize Reformular > Aplicar Script... Um novo ponto de extensão permite que os escritores de plug-in contribuam com o suporte de script de reformulação para reformulações novas ou já existentes.
Consulte o ponto de extensão |
Exportação de arquivo JAR com reformulações |
Ao exportar um arquivo JAR do espaço de trabalho, o Assistente de Exportação de JAR oferece a opção
para incluir informações de reformulação no arquivo JAR. Os clientes podem, então, migrar uma versão antiga do arquivo JAR para uma nova utilizando a reformulação Reformular > Migrar Arquivo JAR.... Alternativamente, você também pode utilizar Caminho de Construção > Migrar Arquivo JAR... se um arquivo JAR estiver atualmente selecionado. Essa reformulação atualizará automaticamente todo o código dependente da versão antiga do arquivo JAR para utilizar a nova versão do arquivo JAR. |
Reformulações de reconhecimento da API |
Existem várias reformulações que foram estendidas para suportar a compatibilidade da API, mantendo o membro original como um delegado para o membro reformulado:
A geração de um membro delegado para preservar a compatibilidade da API pode ser ativada marcando Manter método original como delegado para método renomeado no diálogo de reformulação. |
Renomear Tipo atualiza de modo semelhante a elementos nomeados |
A reformulação Renomear Tipo pode agora renomear variáveis e métodos com nomes semelhantes ao tipo renomeado. Esse recurso ajuda a manter os nomes de métodos e de variáveis sincronizados com os nomes de tipos. Para chamar essa reformulação, selecione um tipo e utilize Reformular > Renomear... |
A reformulação Renomear Pacote renomeia subpacotes |
Agora a reformulação Renomear Pacote também renomeia subpacotes, a pedido. Neste exemplo, Para chamar essa reformulação, selecione um pacote e utilize Reformular > Renomear... |
Filtrar a visualização de reformulação |
A página de visualização de reformulação suporta agora a filtragem de alterações. Isso é útil principalmente quando a atualização de correspondências textuais em comentários e cadeias é solicitada ao renomear elementos Java. A captura de tela mostra o diálogo de renomeação filtrado para correspondências textuais
ao renomear a classe As alterações relacionadas à visibilidade de elementos Java agora também podem ser filtradas. |
Editor Java
|
|
Assistente de conteúdo customizável |
Chamar repetidamente o assistente de conteúdo (Ctrl+Espaço na maioria das plataformas) agora repete o ciclo em diferentes categorias de sugestões. Você pode designar atalhos de teclas separados a suas categorias de sugestões favoritas
e utilizar a página de preferências
O novo ponto de extensão |
Suporte de caixa alternante em conclusão de código |
A conclusão de código suporta agora padrões de caixa alternante.
Por exemplo, a conclusão de NPE sugerirá NullPointerException.
Esse suporte pode ser desativado utilizando a página de preferências Mostrar correspondências de caixa alternante na página de preferências
|
Menu rápido para demarcar código |
O novo menu rápido Demarcar com permite demarcar uma seleção de linhas com código. O menu é extensível com modelos customizados. Os modelos reconhecem agora as variáveis que precisam ser retiradas ou se tornar definitivas. Utilize Origem > Demarcar com ou pressione Alt+Shift+Z para ver diretamente o menu. Você pode incluir seus modelos customizados na página de preferências Java > Editor >
Modelos. O modelo precisa apenas de uma variável
|
Novas correções rápidas |
Várias novas correções rápidas foram incluídas, por exemplo:
|
Suporte de categorias |
As categorias podem ser definidas em comentários Javadoc para tipos, métodos e campos que utilizam
a tag As categorias são mostradas nas visualizações Esboço e Membros e no Esboço Rápido. O menu de visualização permite selecionar as categorias visíveis. |
Todos os membros podem ser compactados |
Quando a compactação é ativada, os campos, inicializadores e seus comentários podem ser compactados agora da mesma maneira que os métodos. Existem novos comandos de compactação de texto para reduzir todos os comentários, reduzir todos os membros e reconfigurar a estrutura de compactação. Esses comandos estão localizados no menu de contexto Compactação do editor Java na régua vertical. |
Suporte de régua e esboço para arquivos Java fora do espaço de trabalho |
O editor Java mostra agora réguas verticais e a página Esboço e o Esboço Rápido estão aptos a mostrar o esboço para arquivos Java externos e arquivos Java de repositórios. |
Compilador Java
|
|
Conformidade do Java SE 6.0 |
A conformidade com o Java SE 6.0 é agora totalmente suportada.
Em particular, os atributos |
Análise de referência nula |
O compilador Java é agora capaz de desempenhar uma análise básica de referência nula para variáveis locais. Esse diagnóstico opcional pode ser ativado na página de preferências
Observe que a análise é um pouco conservadora, disposta sobre regras de designação definitiva. Ela considera apenas os casos em que existe algo suspeito (por exemplo, se posteriormente uma verificação nula for desempenhada), em vez de reivindicar todos os casos possíveis. No modo de conformidade com 5.0, os avisos de referência nula podem ser silenciados utilizando
|
Recuperação de sintaxe aprimorada |
O analisador Java interno é agora muito mais resiliente a erros de sintaxe. No Eclipse 3.1, um erro de sintaxe impediria a exibição de erros subseqüentes. Agora, o analisador pode recuperar de instruções com erros e continuar a desempenhar análises adicionais. No exemplo a seguir, a referência inválida ao método Isso permite, por exemplo, que reformulações que afetam apenas um único arquivo tolerem erros de sintaxe. Por exemplo, é possível agora renomear ou extrair uma variável local por cima de um método que ainda não tenha sido gravado completamente. |
Tratar erros configuráveis como não fatais |
A opção Tratar erros configuráveis como erros fatais na página de preferências
Se essa opção for desativada, o código compilado poderá ser executado apesar da existência de erros no código. |
Detecção de tags $NON-NLS$ desnecessárias |
Tags A geração de relatório pode ser ativada e desativada utilizando a mesma preferência
que para a detecção de Cadeias não externalizadas. Isso pode ser configurado na página de preferências
Para remover as tags desnecessárias, utilize Correção Rápida (Ctrl+1) ou Ctrl+1, Ctrl+Enter para remover todas as tags desnecessárias em uma unidade de compilação. |
Detecção de uso de tipo bruto |
Os usos de tipos brutos são agora detectados. Um tipo bruto é
uma referência a algum tipo genérico sem qualquer argumento de tipo (por exemplo, Esse diagnóstico opcional pode ser ativado independentemente das operações
de tipos desmarcados na página de preferências
Esse aviso pode ser silenciado incluindo Além disso, uma Correção Rápida foi implementada para ajudar a resolver o problema de uso de tipo bruto. |
Detecção de designações de parâmetro do método |
A designação a parâmetros do método é considerada uma prática inadequada. Para detectar e relatar essas designações, abra a página de preferências
|
Detecção de rótulos não utilizados |
O compilador Java detecta agora rótulos de instrução não utilizados Esse diagnóstico opcional pode ser ativado na página de preferências
|
Detecção de fall through de caso de comutador |
O compilador Java pode agora detectar se um caso pode ser digitado efetuando fall through de um caso anterior. Os casos vazios são permitidos. Esse diagnóstico opcional pode ser ativado na página de preferências
Uma correção rápida para incluir uma instrução |
Desempenho aprimorado para arquivos .jar grandes |
O limite de tamanho do cache de modelo Java interno é agora uma função do tamanho máximo de heap (argumento VM -Xmx na maioria das JVMs) fornecida para a Java Virtual Machine que estiver executando o IDE Eclipse. O aumento do tamanho de heap tem um notável aprimoramento de desempenho quando existem arquivos .jar grandes no caminho de classe de construção. |
Recriando arquivos .class modificados |
O construtor Java pode agora recriar arquivos .class modificados ou removidos na pasta de saída utilizando a origem inicial. Isso pode ser controlado na página de preferências
|
Visualização Javadoc e dicas de ferramentas do Javadoc anexado |
A visualização Javadoc e os focos Javadoc extraem agora as informações do Javadoc anexado para bibliotecas que não possuem origem anexada. |
Ferramentas JUnit |
|
Suporte de JUnit 4 |
O suporte de JUnit foi atualizado para executar e gravar testes JUnit 4. Consulte www.junit.org para obter informações adicionais sobre o JUnit 4.
|
Histórico da visualização JUnit |
A visualização JUnit pode agora manipular várias execuções de testes simultâneos. Você pode comutar entre as execuções de testes ativos e recentes utilizando o novo histórico. Os testes podem ser executados novamente a partir do histórico sem parar os testes já em execução. Isso funciona com o JUnit 3, assim como com o JUnit 4. |
Depurador Java |
|
Ambientes de execução |
Um ambiente de execução descreve os recursos
de um tempo de execução - por exemplo, J2SE-1.4. Você pode especificar JREs utilizados para
execução, depuração e construção com base na referência de um ambiente de execução.
A nova página de preferências
Um caminho de construção ou configuração de ativação que referencia um ambiente de execução é mais transportável do que aquele que referencia um JRE explícito, uma vez que um ambiente de execução do JRE pode ser revolvido independentemente de seu nome. Utilize a guia JRE ou o assistente de Editar Biblioteca para especificar um ambiente de execução para execução e construção. |
Variável de ativação da propriedade de sistema |
Uma nova variável de ativação permite especificar dinamicamente as propriedades de sistema como argumentos do programa Java e da VM a partir do tempo de execução do Eclipse. A variável aceita um único argumento, que é o nome da propriedade de sistema a ser resolvido no tempo de ativação. Por exemplo, a propriedade de sistema java.home seria referenciada com ${system_property:java.home}. |
Suporte de avaliação para matrizes |
A avaliação e o assistente de conteúdo são suportados agora para
matrizes Java. Utilize |
Grupos de encadeamento Java |
Agora é possível exibir grupos de encadeamento na Visualização de Depuração comutando Mostrar Grupos de Encadeamento no menu de visualização. |
Entradas exportadas do caminho de classe de tempo de execução |
Um caminho de classe do tempo de execução pode ser configurado para incluir apenas entradas exportadas do caminho de construção. Por padrão um caminho de classe do tempo de execução inclui todas as entradas (exportadas e não exportadas). Na guia Caminho de Classe, selecione a entrada padrão e utilize o botão Editar... para configurar a opção. |
Suspender Encadeamento versus Suspender VM |
Uma opção foi incluída na página de preferências
|
Diversos |
|
Indicador de tipo Java |
Ative o Indicador de Tipo Java na página de preferências
|
Localizar cadeias externalizadas interrompidas |
Uma nova ação pode procurar cadeias externalizadas interrompidas. A procura relata chaves ausentes, não utilizadas e duplicadas. Para iniciar a procura, selecione um arquivo de propriedades, um pacote ou um projeto inteiro e utilize Origem > Localizar Cadeias Externalizadas Interrompidas |
Suporte aprimorado para o mecanismo de externalização de cadeia do Eclipse |
O mecanismo de externalização de cadeia do Eclipse possui agora o mesmo tipo de suporte que a externalização de cadeia tradicional. O valor externalizado associado é mostrado em um foco quando você se demora sobre uma chave de uma cadeia externalizada no editor Java. Ctrl+Clique na tecla para navegar diretamente para a entrada no arquivo de propriedades correspondente. No editor do arquivo de propriedades, você pode utilizar Ctrl+Clique para descobrir onde a chave é utilizada no código. |
Criar um tipo a partir de um trecho de exemplo |
Você pode colar um trecho de código contendo um tipo Java diretamente
em um pacote ou pasta de origem para criar uma nova unidade de compilação.
Por exemplo, selecione e copie este código-fonte
package pack; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }em seguida, selecione uma pasta de origem no Explorador de Pacotes e utilize Ctrl+V (Editar > Colar). Isso cria automaticamente um novo pacote 'pack' e um arquivo 'HelloWorld.java' com o conteúdo copiado. |
Gerar hashCode() e equals() |
Uma nova ação pode ser utilizada para gerar os métodos
Para chamar essa ação, selecione um tipo e utilize Origem > Gerar hashCode() e equals()... |
Formatador de código da linha de comandos |
Agora é possível formatar o código-fonte sem iniciar a UI do Eclipse utilizando o novo aplicativo de formatador sem face. O formatador da linha de comandos funciona como um aplicativo padrão do Eclipse. O seguinte comando formatará os arquivos de origem na pasta src com as opções especificadas no arquivo config.prefs: Consulte Utilizando o Aplicativo de Formatador para obter detalhes. |
Suporte para extensões equivalentes a Java |
Arquivos com uma extensão que não seja .java
e contendo código Java puro são agora suportados. Uma extensão equivalente a Java
pode ser incluída utilizando a página de preferências
|