Este documento contém descrições de algumas das alterações mais interessantes ou significantes efectuadas nas ferramentas de programação em Java para a edição 3.3 do Eclipse. Estas descrições estão agrupadas em:
Consulte também o documento Plataforma Eclipse - Novidades da 3.3 para conhecer as alterações à Plataforma.
|
Acções de código e de refactorização de Java |
|||
Refactorização sem salvaguarda |
Para efectuar uma refactorização, deixa agora de ser necessário guardar
os editores. Estas podem agora ser efectuadas mesmo se os editores de Java ou de
texto contêm alterações não guardadas. Caso não lhe agrade ter editores com alterações
por guardar após a refactorização, pode optar por guardar sempre os recursos modificados - basta especificá-lo
na página de preferências
|
||
Refactorização de mudança de nome no editor |
A refactorização Java de mudança de nome pode agora ser executada directamente no editor, sem caixa de diálogo separada. Ao usar a opção Refactorizar > Mudar o nome (Alt+Shift+R) no editor de Java, o editor passa a modo ligado em vez de abrir uma caixa de diálogo. As alterações permanecem locais até premir a tecla Enter, o que fará com que as alterações sejam então aplicadas a todo o espaço de trabalho.
Para ver e configurar as opções de refactorização, prima Alt+Shift+R outra vez, ou faça clique no botão do menu e escolha Abrir diálogo de mudança de nome.... Caso prefira a antiga caixa de diálogo, é possível desactivar a opção
Mudança de nome no editor sem diálogo na página de preferências
|
||
Refactorização Introduzir objecto parâmetro |
Introduzir objecto parâmetro é uma refactorização nova que substitui um conjunto de parâmetros de método com um objecto contentor novo. Todas as chamadas do método foram actualizadas para passar a nova classe de objecto parâmetro. Casos práticos:
Para executar a refactorização Introduzir objecto parâmetro, seleccione um método, invoque Refactorizar > Introduzir objecto parâmetro, seleccione os parâmetros que devem ser usados como campos e dê-lhes nomes com significado.
A porção de código seguinte
será modificada da seguinte forma
|
||
Ordenar membros em vários elementos |
A acção Ordenar membros pode agora ordenar vários elementos de uma vez só. Seleccione um pacote, um projecto ou um conjunto de elementos Java no Explorador de pacotes e invoque Código > Ordenar membros. |
||
Limpeza de perfis |
O assistente Código > Limpar foi substituído por uma página de preferências. A limpeza de perfis pode ser definida nesta página de preferências. Um perfil pode ser ligado ao espaço de trabalho ou a projectos individuais. As definições de projecto podem ser partilhadas por uma equipa através de um sistema de controlo de versões. É igualmente possível exportar e importar cada perfil. |
||
Novas limpezas |
Foram acrescentadas os seguintes tipos de limpeza:
|
||
|
Editor Java |
|||
Limpeza de código ao guardar |
É agora possível invocar automaticamente a limpeza de código
sempre que o editor de Java é guardado.
Esta função pode ser activada globalmente na página de preferências
|
||
Assistência a conteúdos para importações estáticas favoritas |
A Assistência a conteúdos (Ctrl+Barra de espaços) pode agora propor conclusões
para membros estáticos de uma lista de importações favoritas que podem ser configuradas na página de
preferências
Por exemplo, se acrescentar
Ao ser inserida uma destas propostas, são seguidas as preferências da página de preferências de
|
||
Assistência a conteúdos para variável com tipo não processado |
O editor de Java suporta agora as propostas de novo membro
com tipos não processados: dependendo da preferência de
Premir ; na situação seguinte:
resulta em:
|
||
A assistência a conteúdos fornece propostas declarativas para variáveis locais não definidas |
A assistência ao código pode agora inferir o nome de uma variável declarada local através da detecção da presença de nome não processados no código seguinte, como demonstra o exemplo seguinte:
|
||
Melhoras na assistência a conteúdos - continuação |
|
||
Assistência rápida |
Algumas funcionalidades que só estavam antes disponíveis no menu Refactorização estão agora disponíveis também como assistência rápida (Ctrl+1). Como sempre, as assistências rápidas não apresentam nenhum diálogo; entram em modo ligado onde é possível alterar nomes ou tipos que foram introduzidos.
|
||
Correcção rápida para criar método a partir de @Override |
Se adicionar uma anotação @Override a um método que ainda não substitui, a correcção rápida (Ctrl+1) proporá criar o método num dos super tipos. |
||
Correcção rápida para criar e usar os métodos getter e setter |
Está disponível uma nova correcção rápida para um campo que não esteja acessível devido a restrições de visibilidade. Na situação seguinte, use Ctrl+1 para invocar a correcção rápida:
Se existe um getter para este campo, pode optar por usar esse método.
E, se não existir nenhum getter para este campo, pode optar por criar um.
|
||
Modelo para acrescentar testes de métodos JUnit 4 |
Foi acrescentado um novo modelo de Teste para acelerar a adição de métodos de teste JUnit 4. |
||
Coloração de sintaxe para parêntesis |
Os parênteses podem agora ser coloridos independentemente dos operadores no Editor de Java através da página de preferências
|
||
Acabaram-se as queixas do tipo "Não consigo ver o código inteiro" no newsgroup |
O grupo de comandos que contém o botão Mostrar código só do elemento seleccionado
da barra de ferramentas |
||
Tipo de letra configurável de Javadoc |
Pode agora configurar o tipo de letra usado em Javadoc na página de preferências
|
||
Cor de fundo para ajuda de texto flutuante de código |
A cor de fundo para todas ajudas de texto flutuante que mostram código no editor de Java
pode agora ser configurada na página de preferências
|
||
Editor de ficheiros de classe mostra o código desmontado |
O editor de ficheiros de classe mostra agora os bytes de código desmontado quando o código fonte não está disponível. |
||
|
Compilador Java |
|||
Tratamento melhorado de variáveis e tipos locais duplicados |
JDT está agora melhor preparado para tratar o código que não é válido devido a variáveis e tipos locais duplicados; sobretudo, pode agora minimizar erros secundários. As ferramentas de Java podem assim operar em código infractor, de modo a proporcionar correcções rápidas.
|
||
Detecção de verificação de nulo melhorada |
A opção Referência nula existente na página de preferências
|
||
Aviso para tipos não processados (em bruto) activados por predefinição |
O diagnóstico opcional do compilador para detectar qualquer uso de tipos não processados é agora activado por predefinição. Este diagnóstico pode ser configurado na página de preferências
|
||
Melhoramento de aviso de parâmetro não utilizado |
O aviso de Parâmetro não utilizado foi melhorada com uma nova opção que ajuda a evitar resultados falso positivos. É possível sugerir ao compilador que um parâmetro não está realmente a não ser utilizado acrescentando-lhe o identificador @param. A opção está localizada na secção Código desnecessário da página de preferências
|
||
|
Vistas e caixas de diálogo de Java |
|||
Etiquetas coloridas nas vistas de Java |
Para ativar etiquetas coloridas nas vistas de Java, abra a página de preferências
|
||
Decorações para campos transitórios e voláteis |
Os campos transitórios e voláteis dispõem agora de decorações de ícones: |
||
Agrupamento de JARs e pastas de classes no Explorador de pacotes |
O Explorador de pacotes agrupa agora as bibliotecas referenciadas num nó contentor.
|
||
Mais opções de pesquisa de Java |
O diálogo de pesquisa de Java foi aumentado para proporcionar um maior controlo para limitar o âmbito de pesquisa em código, projectos necessários, bibliotecas JRE e bibliotecas de aplicações.
|
||
Filtro de pesquisa para referências a método substituído |
O motor de pesquisa de Java introduziu um novo critério de categorização de correspondências de referências de método. Consegue distinguir agora uma invocação através de um tipo ou um dos respectivos subtipos, de uma invocação através de um supertipo, o que normalmente é uma correspondência mais fraca. A vista Pesquisa inclui agora um filtro que reduz ainda mais as referências ao método pesquisado. No exemplo que se segue, o utilizador procurou por referências ao método
|
||
Seleccionar ambiente de execução ao criar um projecto de Java |
Caso crie um projecto Java que pretende partilhar com uma equipa, é boa ideia usar um ambiente de execução em vez de um JRE específico. Os ambientes de execução são representações simbólicas de JREs com entradas normalizadas como 'J2SE-1.4', 'J2SE-1.5'. Isso significa que nenhum caminho de sistema de ficheiro passará para o caminho de construção partilhado. É possível atribuir JREs aos ambientes na página de preferências
|
||
Adicionar um novo projecto Java a um conjunto de trabalho |
O assistente de Novo projecto Java tem agora novos campos de introdução de dados para especificar os conjuntos de trabalho aos quais o novo projecto é acrescentado. Os campos são inicializados a partir da selecção da altura ou do filtro do conjunto de trabalho activo no Explorador de pacotes. |
||
Atribuir conjuntos de trabalho |
Agora é mais fácil organizar elementos Java ou recursos em conjuntos de trabalho. Para atribuir um elemento a um novo conjunto de trabalho, seleccione o elemento no Explorador de pacotes e escolha Atribuir conjuntos de trabalho... no menu contextual. |
||
Colar declaração de tipo cria novo projecto |
Já alguma vez quis usar rapidamente um fragmento de código enviado por outra pessoa? Copie o fragmento de código para a área de transferência, vá para o Explorador de pacotes, certifique-se de que nada está seleccionado e escolha Editar > Colar (Ctrl+V). Eclipse tenta interpretar o texto da área de transição e se o conteúdo parecer conteúdo para um ficheiro *.java, cria um novo projecto Java e o ficheiro *.java.
Como na versão 3.2, pode ainda seleccionar um projecto ou pacote existente e usá-lo como destino para o novo ficheiro. |
||
Colar melhorado no Explorador de pacotes |
Colar código fonte Java com declarações com vários pacotes no Explorador de pacotes cria agora automaticamente todos os pacotes e unidade de compilação necessários. A estrutura à direita é criada quando cola o fragmento à esquerda, no Explorador de pacotes sem ter nada seleccionado:
|
||
Anular eliminações nas vistas Java |
Editar > Anular está agora também disponível para eliminações de elementos Java em vistas Java. Pacotes, unidades de compilação, etc. eliminados acidentalmente podem ser facilmente restaurados carregando em Ctrl+Z. |
||
Arrastar e colar Java no Explorador de Projectos |
Os elementos Java arrastados e colados no Explorador de projectos agora activam eventos de refactorização (como no Explorador de pacotes).
|
||
Exportar e importar execuções de testes JUnit |
As execuções de testes JUnit podem agora ser importadas e exportadas. |
||
Abrir tipo abre vários tipos |
A caixa de diálogo Abrir tipo (Ctrl+Shift+T) suporta agora abrir vários editores ao mesmo tempo. |
||
Pesquisa de padrões para pacotes e de tipos delimitadores |
Podem ser especificados padrões com os caracteres '*' ou '?' para pacotes e tipos delimitadores na caixa de diálogo Abrir tipo.
|
||
|
Depurador Java |
|||
Seguir referências (só Java SE 6) |
É possível apresentar todas as referências a um objecto (só disponível durante a depuração numa máquina virtual Java SE 6). As referências a objectos podem ser apresentadas na vista das variáveis se comutar o comando Mostrar referências no menu da vista. As referências a cada objecto estão agrupadas numa colecção.
As referências podem igualmente ser apresentadas numa caixa de diálogo emergente seleccionando um objecto na vista Variáveis e escolhendo Todas as referências no menu contextual.
As referências são apresentadas numa caixa de diálogo emergente.
|
||
| Apresentar instâncias (só Java SE 6) |
É possível apresentar todas as instâncias de um tipo Java (só disponível durante a depuração numa máquina virtual Java SE 6). As instâncias podem ser apresentadas numa caixa de diálogo emergente seleccionando um tipo no esquema do editor, um nome de tipo no editor de Java, ou uma variável na vista Variáveis e escolhendo Todas as instâncias no menu contextual.
As instâncias são apresentadas numa caixa de diálogo emergente.
|
||
| Forçar devolução (só Java SE 6) |
É possível forçar a devolução antecipada de um método (só disponível se estiver a depurar numa VM Java SE 6). Assim, é devolvido um valor da estrutura de pilha de memória actual sem executar nenhuma outra instrução no método e é liberto qualquer bloqueio obtido por blocos sincronizados. Um valor de devolução é criado através da selecção de uma expressão e da opção Forçar devolução (Alt+Shift+F). Esta acção está diponível no menu contextual do editor de Java, do menu superior Executar, na vista Apresentação e na área de janela de detalhes da vista Variáveis. Forçar uma devolução antecipada de um método não-vazio requer a avaliação
de uma expressão. Por exemplo, se um método ia devolver false, é possível forçar
a devolução de um valor true seleccionando uma expressão na vista
Apresentação e invocando Forçar devolução. No exemplo seguinte,
Use a acção Forçar devolução da vista Apresentação para devolver true.
|
||
| Entrar no método através de hiperligações |
Durante a depuração, é possível entrar num método através de de hiperligações. Use Ctrl+Alt+Clique para entrar num método (em vez de Ctrl+Clique que leva para o código fonte.
|
||
Clique duplo e Ctrl+Shift+B para todos os tipos de pontos de interrupção |
Fazer duplo clique na barra vertical ou invocar Comutar ponto de interrupção (Ctrl+Shift+B), cria agora um ponto de interrupção apropriado com base na posição do cursor - ponto de interrupção de linha, ponto de, observação, de interrupção de método ou de carregamento de classe. Para criar este último, faça duplo clique na linha de declaração da classe.
|
||
| Filtros de passagem vs. voltar |
É possível configurar os filtros de execução (depuração) por passos
para voltarem sempre de uma zona filtrada ou para passarem para uma parte não filtrada. Por
exemplo, se Use as definições dos filtros de execução por passos na página de preferências
|
||
| Formatação automática dos rastreios de pilhas |
Os rastreios de pilhas podem ser formatados automaticamente enquanto os cola na consola de rastreio de pilha Java. Há um comutador Formato automático na barra de ferramentas da consola.
|
||
| Exportar estruturas lógicas |
Agora é possível exportar e importar preferências de estrutura lógica
Java separadamente das restantes preferências do espaço de trabalho. As estruturas lógicas Java
estão definidas na página de preferências
|
||
|
Vários |
|||
Novas opções do formatador de código |
Foram acrescentadas novas opções à página de preferências
|
||
| Regras de acesso para ambientes de execução |
As regras de acesso são agora atribuídas a cada ambiente de execução
com base no respectivo perfil. Por exemplo, as regras impedem o acesso a pacotes
|
||
Variáveis de caminho de classe obsoletas e não modificáveis |
As variáveis de caminho de classe definidas pelo sistema podem agora
ser tornadas obsoletas e/ou declarados só de leitura através do ponto de extensão Os utilizadores devem substituir as variáveis de caminho de classe por mecanismos melhores, tais como Bibliotecas. No caso de algumas variáveis (por ex. JUNIT_HOME), a vista Problemas proporciona correcções rápidas para migrar projectos existentes. |
||
Caminhos relacionados com o espaço de trabalho para localizações Javadoc |
Os caminhos relacionados com o espaço de trabalho são agora aceites como localizações Javadoc para arquivos e pastas de classe: |
||
Geração de tipo de tempo de execução |
O processamento de anotações Java 5 (APT) foi introduzido no Eclipse 3.2,
mas até agora os novos tipos só podiam ser gerados através de uma nova
construção. Os processadores de anotações Java 5 podem agora gerar novos tipos em qualquer altura,
durante a edição das anotações. Esta função está desactivada por predefinição, por razões de
desempenho; para activar, o processador tem de incluir "enableTypeGenerationInEditor"
no conjunto de cadeias devolvidas de
|
||
Processamento de anotações Java 6 |
O Eclipse 3.3 suporta completamente o processamento de anotações Java 6 no compilador de lotes Java do Eclipse. O processamento de anotações Java 6 dispõe também de um suporte mínimo no IDE; maior suporte está planeado para breve. |
||