Sugestões e Truques (JDT)

As seguintes sugestões e truques facultam algumas ideias úteis para aumentar a produtividade. Consulte também o documento Sugestões e truques da plataforma Eclipse para dicas de uso geral do Eclipse.


Editar   |   Refactorizar   |   Navegar   |   Pesquisar   |   Vistas   |   Vários   |   Depurar


Origem de edição

Assistência a conteúdos A assistência a conteúdos faculta-lhe uma lista de conclusões sugeridas para cadeias inseridas parcialmente. No editor Java, prima Ctrl+Espaço ou invoque Editar > Assistência a conteúdos.

Caixa de diálogo de selecção Assistência a conteúdos

Assistência a conteúdos em comentários Javadoc A assistência a conteúdos também está disponível em comentários de Javadoc.

Assistência a conteúdos para comentários Javadoc

Assistência a conteúdos para importações estáticas
Novidades da 3.3
Para obter propostas de assistência a conteúdos para membros estáticos configure a sua lista de membros estáticos favoritos na página de preferências Abre a página de Preferências de Favoritos Java > Editor > Assistência a conteúdos > Favoritos.

Por exemplo, se acrescentou java.util.Arrays.* a esta lista, todos os métodos estáticos deste tipo que correspondam ao prefixo de conclusão serão adicionados à lista de propostas:

Propostas da Assistência a conteúdos

Suprimir os tipos na assistência a conteúdos Para impedir que determinados tipos apareçam na assistência a conteúdos, utilize a função de filtro de tipo configurada na página de preferências Abre a página de preferências de filtro de tipo Java > Aparência > Filtros de Tipos. Os tipos que correspondem a um destes padrões de filtros não aparecem na caixa de diálogo Abrir Tipo e não estão disponíveis para assistência a conteúdos, Correcção Rápida e organização de importações. Estes padrões de filtro não afectam as vistas Explorador de Pacotes e Hierarquia de Tipo.

Página de preferências Filtro de tipo

Assistência a conteúdos para variável, parâmetro de método e conclusões de nome de campo Pode utilizar a assistência a conteúdos para acelerar a criação dos campos, parâmetros de método e variáveis locais. Com o cursor posicionado depois do nome do tipo da declaração, invoque Editar > Assistência a conteúdos ou prima Ctrl+Espaço.

Sugestões para nomes de campos

Se utilizar um prefixo ou sufixo de nome para os campos, variáveis locais ou parâmetros de métodos, certifique-se de que especifica na página de preferências Abre a página de preferências de estilo de código Java > Estilo de Código.

Assistência a conteúdos para variável com tipo não processado
Novidades da 3.3
A assistência a conteúdos também funciona em acessos a tipos que não foram ainda importados. Dependendo da preferência de Abre a página de preferências da Assistência a conteúdos Java > Editor > Assistência a conteúdos > Adicionar importação em vez de nome qualificado, o editor ou adiciona as importações automaticamente ou qualifica totalmente os tipos em propostas destas.

Premir ; na situação seguinte:

Imagem do ecrã que mostra a Assistência a conteúdos para variáveis com tipos não resolvidos

resulta em:

Imagem do ecrã com o Resultado da assistência a conteúdos ao premir ';'

Sugestões de parâmetros Com o cursor num argumento do método, pode ver uma lista de sugestões de parâmetros. No Editor Java, prima Ctrl+Shift+Espaço ou invoque Editar > Sugestões de Parâmetros.

Menu flutuante Sugestões de Parâmetros

Assistência a conteúdos em classes anónimas A assistência a conteúdos também faculta ajuda ao criar uma classe anónima. Com o cursor posicionado depois de abrir parêntesis de uma criação da instância da classe, invoque Editar > Assistência a conteúdos ou prima Ctrl+Espaço.

Assistência a conteúdos para uma classe anónima

Vai criar o corpo da classe interna anónima, incluindo todos os métodos que têm de ser implementados.
Comutar entre a inserção e a substituição da assistência a conteúdos Quando a assistência a conteúdos é invocada num identificador existente, esta pode substituir o identificador pela conclusão escolhida ou executar uma inserção. O comportamento predefinido (substituir ou inserir) está definido na página de preferências Abre a página de preferências de assistência a conteúdos Java > Editor > Assistência a conteúdos.
Pode temporariamente comutar o comportamento enquanto está na caixa de diálogo de selecção da assistência a conteúdos, premindo e mantendo premida a tecla Ctrl, enquanto selecciona a conclusão.
Assistência a conteúdos incremental A assistência a conteúdos pode igualmente Inserir prefixos comuns automaticamente, semelhante à expansão da shell Unix. Para activar esse comportamento, assinale o respectivo quadrado de confirmação na página de preferências Abre a página de preferências da assistência a conteúdos Java > Editor > Assistência a conteúdos.
Suporte de sequências minúscula-maiúscula em conclusões de código A conclusão de código suporta padrões de sequência minúscula-maiúscula. Por exemplo, uma proposta de conclusão de NPE ou de NuPoiE será NullPointerException. Este suporte pode ser desactivado, utilizando a preferência Mostrar correspondências de sequências minúscula-maiúscula na página de preferências Abre a página de preferências Assistência a conteúdos Java > Editor > Assistência a conteúdos.

Conclusão do editor Java em NPE

Personalizar a assistência a conteúdos Invocar a assistência a conteúdos repetidamente (Ctrl+Barra de Espaços) circular pelas diferentes categorias de propostas.

Assistência a conteúdos com novas propostas de modelos de métodos

Para configurar com apresentação de categorias, utilize a página de preferências Abre a página de preferências de assistência a conteúdos Java > Editor > Assistência a conteúdos > Avançadas .

Também pode atribuir diferentes atalhos.

Criar getters e setters Para criar os métodos getter e setter para um campo, seleccione a declaração do campo e invoque Código > Gerar Getter e Setter.

Diálogo Gerar Getter e Setter

Se utilizar um prefixo ou sufixo de nome, certifique-se de que o especifica na página de preferências Abre a página de preferências de estilo de código Java > Estilo de Código.
Utilize a assistência a conteúdos para criar getters e setters Outra forma de criar getters e setters é utilizar a assistência a conteúdos. Defina o cursor no corpo de tipo entre membros e prima Ctrl+Espaço para obter as propostas que criam um apêndice do método getter ou setter.
Assistência a conteúdos para criar um setter
Eliminar getters e setters juntamente com um campo Quando eliminar um campo de uma vista, o Eclipse pode propor a eliminação dos métodos Getter e Setter. Caso utilize um prefixo ou sufixo de nome para os campos, certifique-se de que o especifica na página de preferências Abre a página de preferências de estilo de código Java > Estilo de Código.
Criar métodos de delegação Para criar um método de delegação para um campo, seleccione a declaração do campo e invoque Código > Gerar métodos de delegação. Adiciona, assim, os métodos seleccionados ao tipo que contém uma chamada de avanço para métodos de delegação. O seguinte é um exemplo de um método de delegação:
Exemplos de métodos de delegação
Criar hashCode() e equals() Para criar os métodos hashCode() e equals() invoque Código > Gerar hashCode() e equals().

Gerar a caixa de diálogo de hashCode() e equals()

Utilizar Modelos para criar um método Os modelos são apresentados juntamente com as propostas Assistência a conteúdos (Ctrl+Espaço).
Também existem modelos, como 'private_method', 'public_method', 'protected_method' e outros, mas pode igualmente definir novos modelos para apêndices de método.

Depois de aplicar um modelo, utilize a tecla Tabulação para navegar entre os valores a inserir (tipo, nome e argumentos de devolução).
Assistência a conteúdos com propostas para novos modelos de método

Criar os seus próprios modelos Para criar os seus próprios modelos, aceda à página de preferências Abre a página de preferências de modelos do editor Java > Editor > Modelos e prima o botão Novo para criar um modelo. Por exemplo, um modelo para ser iterado em retrocesso numa matriz teria o seguinte aspecto:

Modelo para um iterador

Utilizar Correcção Rápida para criar um novo método Comece pela invocação do método e utilize Correcção Rápida (Ctrl+1) para criar o método.

Correcção Rápida 'Criar método'

Utilizar Correcção Rápida para alterar uma assinatura do método Adicionar um argumento a uma invocação do método num sítio de chamada. Depois utilize Correcção Rápida (Ctrl+1) para adicionar o parâmetro necessário na declaração do método.

Correcção Rápida 'Alterar assinatura'

Utilizar Assistência a conteúdos para criar um apêndice do construtor Na localização em que pretende adicionar o novo construtor, utilize a assistência a conteúdos depois de escrever as primeiras letras do nome do construtor.
Criar construtor com a assistência a conteúdos
Criar novos campos dos parâmetros Pretende criar novos campos para armazenar os argumentos transmitidos no construtor? Utilize a Assistência Rápida (Ctrl+1) num parâmetro para criar a atribuição e a declaração do campo, permitindo que o Eclipse proponha um nome segundo as suas preferências do Estilo de Código.
Assistência rápida 'Atribuir parâmetro ao novo campo'
Utilizar Assistência a conteúdos para sobrepor um método Invocar Assistência a conteúdos (Ctrl+Espaço) no corpo de tipo na localização em que deverá ser adicionado o método. A assistência a conteúdos vai facultar todos os métodos que podem ser sobrepostos. Será criado um corpo de método para o método escolhido.

Assistência a conteúdos 'Sobrepor método'

Utilizar Correcção Rápida para adicionar métodos não implementados Para implementar uma nova interface, adicione primeiro a declaração 'implements' ao tipo. Mesmo sem guardar ou construir, o editor Java vai sublinhar o tipo que vai sinalizar que faltam métodos e que vai mostrar a lâmpada da Correcção Rápida. Faça clique na lâmpada ou prima Ctrl+1 (Editar > Correcção Rápida) para escolher entre adicionar os métodos não implementados ou tornar a classe abstracta.

Correcção Rápida a oferecer a proposta 'Adicionar métodos não implementados'

Substituir um método de uma classe de base Para criar um método que substitui um método de uma classe de base:
Seleccione o tipo no qual pretende adicionar os métodos e invoque Código > Substituir/Implementar Métodos. A caixa de diálogo que se abre permite-lhe escolher os métodos que pretende substituir.

Caixa de diálogo 'Substituir/Implementar método'

Criar um tipo a partir de um snippet exemplo Pode colar um snippet de código que contém um tipo Java directamente num pacote ou pasta de origem para criar uma unidade de compilação nova. Por exemplo, seleccione e copie este código de origem
package pack;
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
em seguida, seleccione uma pasta de origem no Explorador de Pacotes, utilizando Ctrl+V (Editar > Colar). Esta opção cria automaticamente um novo pacote 'pack' e um novo ficheiro 'HelloWorld.java' com o conteúdo copiado.

Se colar sem ter seleccionado nada no Explorador de pacotes, o Eclipse cria um novo projecto Java que contém o ficheiro *.java. Além disso, a área de transferência pode igualmente conter vários pacotes e declarações de tipos. Neste caso, o Eclipse cria todos os pacotes e ficheiros *.java necessários ao colar.

Mudar o nome no ficheiroPara efectuar rapidamente uma mudança de nome que não exija análise completa das dependências nos outros ficheiros, utilize a Assistência Rápida 'Mudar o nome no ficheiro'. No Editor Java, coloque o cursor num identificador de uma variável, método ou tipo e prima Ctrl+1 (Editar > Correcção Rápida)
O editor é comutado para o modo de edição com ligações (como modelos) e a alteração do identificador em simultâneo vai alterar todas as outras referências para essa variável, método ou tipo.

Alterar vários identificadores através da utilização dacorrecção rápida 'Mudança de Nome Local'

Também pode utilizar o atalho directo Ctrl+2 R. Utilize a página de preferências Abre a página de preferências de teclas Geral > Teclas para configurar os atalhos (na categoria 'Código').
Utilizar a Correcção Rápida para processar excepções Lidar com excepções lançadas é fácil. São detectadas as excepções não processadas ao escrever porque são marcadas com uma linha vermelha no editor.
  • Faça clique na lâmpada ou prima Ctrl+1 para rodear a chamada com um bloco try catch. Se pretende incluir mais declarações no bloco try, seleccione as declarações e utilize Código > Rodear Com > Bloco try/catch. Também pode seleccionar declarações individuais, utilizando Editar > Expandir Selecção Até e seleccionando Delimitador, Seguinte ou Anterior.
  • Se a chamada já estiver rodeada por um bloco try, a Correcção Rápida vai sugerir a adição de um bloco catch para o bloco existente.
  • Se não quiser processar a excepção, permita que a Correcção Rápida adicione uma nova excepção lançada à declaração do método delimitado.

Propostas de correcção rápida 'Excepção não detectada'

Pode converter um bloco catch numa excepção lançada sempre que desejar. Utilize Ctrl+1 (Editar > Correcção Rápida) num bloco catch.

Assistência rápida 'Substituir cláusula catch por lançamentos'

Escrever menos para atribuições Em vez de escrever uma atribuição, comece pela expressão que será atribuída.

Assistência rápida 'Atribuir instrução à variável local'

Agora utilize Ctrl+1 (Editar > Correcção Rápida) e escolha 'Atribuir instrução à nova variável local' e a Assistência Rápida vai atribuir um nome à variável pelo utilizador.
Atribuição de Assistência Rápida
Menos trabalho com as expressões de difusão Não perca tempo a escrever difusões. Ignore-as primeiro e utilize a assistência rápida para as adicionar depois de terminar a instrução.

Por exemplo, nas atribuições:
Adicionar difusão na atribuição
Ou nos argumentos de método:
Adicionar difusão a argumentos de métodos
Ou nos destinos de chamadas de método:
Adicionar difusão em destinos de chamada de método

Atribuir uma expressão difundida
Depois de seleccionar 'instanceof', é muito comum difundir a expressão e atribuí-la a uma nova variável local. Invoque Assistência Rápida (Ctrl+1) na palavra-chave 'instanceof' para poupar alguma escrita:
Correcção Rápida 'Introduzir novo local com tipo imbricado'
Mais assistências rápidas
Dê saída da página assistência rápida para obter uma lista completa de transformações de código disponíveis. Entre elas
  • Inverter instruções if
  • Converter 'switch' em 'if-else'
  • Substituir 'if-else' por condicional
    ...e muitas mais
Pode encontrar uma lista de correcções rápidas aqui.
Atalhos para Assistência e correcções rápidas
Algumas das correcções rápidas como Mudar o nome em ficheiro e Atribuir a variável local podem ser invocadas directamente com Ctrl+2 R e Ctrl+2 L. Assinale a página de preferências Abre a página de preferências das teclas Geral > Teclas para ter acesso a mais correcções rápidas e assistência rápida que podem ser invocadas directamente.

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

Seleccione Incluir comandos sem limites para ver todos os comandos, e depois escreva "Assistência rápida" ou "Correcção rápida" no campo do filtro.

Linhas circundantes Para rodear as declarações com uma declaração if / while / for ou com um bloco, seleccione as linhas a rodear e invoque Código > Rodear Com ou prima Alt+Shift+Z.

Assistência rápida 'Rodear com modelos'

As entradas no menu são derivadas a partir dos modelos normais do editor: Todos os modelos que contenham a variável ${line_selection} serão apresentados no menu.

É possível configurar os modelos na página de preferências Abre a página de preferências de modelos do editor Java > Editor > Modelos. Edite os modelos correspondentes para personalizar o código resultante ou definir os seus próprios modelos rodeados.
A assistência a conteúdos pode inserir nomes de argumentos automaticamente Pode definir uma opção em que a assistência a conteúdos insira nomes de argumentos automaticamente na conclusão de método. Este comportamento pode ser personalizado na página de preferências Abre a página de preferências de assistência a conteúdos Java > Editor > Assistência a conteúdos (veja o quadrado de confirmação Preencher nomes de argumentos na conclusão.) Por exemplo, quando seleccionar a segunda entrada aqui,

janela de assistência a conteúdos

a assistência a conteúdos insere automaticamente nomes de argumentos:

nomes de argumentos inseridos pela assistência a conteúdos

Pode então utilizar a tecla Tabulação para navegar entre os nomes inseridos.

A assistência a conteúdos também pode adivinhar nomes de argumentos - com base nos seus tipos declarados. Pode configurar esta opção através do quadrado de confirmação Adivinhar nomes de argumentos preenchidos na página de preferências Abre a página de preferências de assistência a conteúdos Java > Editor > Assistência a conteúdos.

Inserir automaticamente argumentos de tipo
Activar a opção Preencher nomes de argumentos na conclusão na página de preferências Abre a página de preferências de assistência a conteúdos Java > Editor > Assistência a conteúdos também é útil quando o utilizador está a trabalhar com tipos parametrizados em J2SE 5.0.
Assistência a conteúdos num tipo parametrizado
resulta em:
Argumento de tipo inserido e adivinhado pela assistência a conteúdos
Remover instrução circundante Para remover uma declaração ou bloco circundante, posicione o cursor no primeiro parêntese ou no último e prima Ctrl+1 (Editar > Correcção Rápida).

Assistência rápida 'Remover instrução circundante'

Como é que se escrevia aquela palavra? Pode activar o suporte de verificação ortográfica no editor Java na página de preferências Abre a página de preferências de ortografia Geral > Editores > Editores de Texto > Ortografia. Os erros de ortografia são apresentados no editor Java e as Correcções rápidas correspondentes estão disponíveis:

Um exemplo de uma proposta de correcção ortográfica.

Também pode disponibilizar o dicionário para a assistência a conteúdos. Uma Correcção rápida permite-lhe acrescentar novas palavras ao dicionário de utilizador à medida que for necessário.

Selecções estruturadas A Selecção estruturada é sensível à sintaxe Java. Permite seleccionar código por elemento sintáctico: Destaque uma parte do texto e prima Alt+Shift+Seta para cima ou seleccione Editar > Expandir selecção até > Elemento delimitador na barra de menus - a selecção será expandida até ao elemento sintáctico Java mais pequeno que contém a selecção. Depois pode expandir mais a selecção invocando a acção outra vez.
Localizar o parêntesis correspondente Para localizar um parêntese correspondente, seleccione um parêntese de início e de fim e prima Ctrl+Shift+P ou seleccione Navegar > Ir para > Parêntese correspondente. Também pode fazer duplo clique antes de abrir ou depois de fechar parêntesis - vai seleccionar o texto entre os dois parêntesis.

Utilizar 'duplo clique' para seleccionar texto entre dois parêntesis

Javadoc Interactivo Escreva '/**' e prima Enter. Vai adicionar automaticamente um apêndice de comentário de Javadoc que contém os identificadores padrão @param, @return e @exception.

Resultado de 'Javadoc Interactivo'

Os modelos para o novo comentário podem ser configurados na página de preferências Abre a página de preferências de modelos de código Java > Estilo de Código > Modelos de Código.
Utilizar o histórico local para reverter para uma edição anterior de um método Sempre que editar um ficheiro, o respectivo conteúdo anterior é mantido no histórico local. As ferramentas Java disponibilizam o histórico local para elementos Java, de forma a poder reverter para uma edição anterior de um único método em vez do ficheiro completo.

Seleccione um elemento (por exemplo, na vista Esquema) e utilize Substituir por > Histórico local para reverter para um edição anterior do elemento.

Caixa de diálogo Substituir a partir do histórico local

Utilizar o histórico local para restaurar métodos removidos Sempre que editar um ficheiro, o respectivo conteúdo anterior é mantido no histórico local. As ferramentas Java disponibilizam o histórico local para elementos Java, para que possa restaurar métodos eliminados selectivamente.

Seleccione um contentor (por exemplo, na vista Esquema) e utilize Restaurar a partir do histórico local para restaurar todos os membros removidos.

Caixa de diálogo Restaurar a partir do histórico local

Geração do código personalizável A página de preferências Abre a página de preferências de modelos de códigos Java > Estilo de Código > Modelos de Código permite personalizar o código gerado e os comentários de forma semelhante à dos modelos normais. Estes modelos de código são utilizados sempre que é gerado código.

Página de preferências de modelos de código

Desde a versão 3.1, é possível utilizar Modelos de código de projectos específicos, os quais serão partilhados na equipa, caso o seu projecto seja partilhado. Abra as Propriedades de um projecto para activar definições específicas de projecto.
Criar comentários no seu código Os comentários podem ser explicitamente adicionados através de Código > Gerar Comentário de Elemento (Alt+Shift+J) ou automaticamente, por intermédio de vários assistentes, refactorizações ou correcções rápidas.
Configure os modelos de comentários na página de preferências Abre a página de preferências de modelos de código Java > Estilo de Código > Modelos de Código.
Active ou desactive a geração automática de comentários de forma directa a partir do assistente (por exemplo, utilizando o quadrado de confirmação 'Gerar Comentário' nos novos assistentes de tipos Java) ou através do quadrado de confirmação 'Adicionar automaticamente comentários novos para métodos e tipos novos' da página de preferências Abre a página de preferências de estilo de código Java > Estilo de Código.
Todas estas definições também podem ser configuradas numa base por projecto. Abra as Propriedades de um projecto para activar definições específicas de projecto.
Ordenar membros É possível Ordenar membros de uma unidade de compilação Java ou de um conjunto de unidades de compilação de acordo com uma ordem de categorias definida na página de preferências Abre a página de preferências de ordenação de membros Java > Aparência > Ordem de ordenação de membros.
A acção encontra-se em Código > Ordenar Membros.
Translinear cadeias Pode ter literais de Cadeia translineadas quando as editar. Por exemplo, se encontrar este tipo de código:
Mensagem de cadeia= "Esta é uma mensagem muito longa.";

coloque o sinal de omissão a seguir à palavra "muito" e prima Enter. O código será automaticamente alterado para:

Mensagem de cadeia= "Esta é uma mensagem muito" + 
           " grande.";

Este comportamento pode ser personalizado na página de preferências Abre a página de preferências de escrita Java > Editor > Escrita página de preferências.

Escrita Interactiva e como a controlar As funções de Escrita Interactiva do editor Java facilitam o trabalho diário. Pode configurá-las na página de preferências Abre a página de preferências de escrita Java > Editor > Escrita página de preferências.

Página de preferências de escrita do editor de Java

Quando activar Inserir automaticamente Ponto e Vírgula na posição correcta, ao escrever um ponto e vírgula automaticamente vai colocar o cursor no final da instrução antes de inserir o ponto e vírgula. Vai poupar-lhe alguma navegação adicional do cursor.
Pode anular esta colocação automática premindo a tecla de retrocesso logo a seguir.

Ajustar a indentação do código com um batimento de tecla Código > Corrigir indentação ou Ctrl+I é uma função útil.
Seleccione o código em que as indentações estão incorrectas e invoque a acção.

Caso não seleccione nada, a acção indenta a linha actual.

Menus rápidos para acções de origem e refactorização As acções de origem e de refactorização podem ser acedidas através de um menu rápido. Seleccione o elemento a ser manipulado no editor Java ou numa vista Java e prima Alt+Shift+S para abrir o menu de origem rápido, Alt+Shift+T para abrir o menu de refactorização rápido e Alt+Shift+Z para abrir o menu rodear com.

Menu de refactorização rápido

Localizar código não utilizado O compilador Java detecta código inalcançável, variáveis não utilizadas, parâmetros, importações e tipos privados não utilizados, métodos e campos. Altere as definições de detecção na página de preferências Abre a página de preferências Erro/Aviso Java > Compilador > Erro/Aviso. Estas definições também podem ser estabelecidas por projecto: Projecto > Propriedades > Compilador de Java > Erro/Aviso.

Página de preferências Compilador

Estes problemas são detectados à medida que o utilizador escreve, e é-lhe proposta uma correcção rápida para remover o código que não é necessário. Também pode usar Código > Limpar... para remover o código não utilizado.
Encontrar problemas com nulo
Novidades da 3.3
O compilador pode ajudá-lo a encontrar problemas com null no código. A página de preferências Abre a página de preferências Erro/Aviso Java > Compilador > Erro/Aviso tem três opções para detectar problemas:
  • Acesso de apontador nulo (em 'Potenciais problemas de programação')
    Quando esta opção está activada, o compilador emite um erro ou um aviso sempre que uma variável que estatisticamente tenha um valor nulo for usada para aceder a um campo ou a um método, como ilustra o exemplo abaixo:

    Exemplo de acesso de apontador nulo


  • Acesso potencial de apontador nulo (em 'Potenciais problemas de programação')
    Quando esta opção está activada, o compilador emite um erro ou um aviso sempre que uma variável que estatisticamente possa ter um valor nulo for usada para aceder a um campo ou a um método, como ilustra o exemplo abaixo:

    Exemplo de acesso pontencial de apontador nulo


  • Verificação de nulo redundante (em 'Código desnecessário')
    Quando activada, o compilador emite um erro ou um aviso sempre que uma variável que estatisticamente mantenha um valor nulo ou que não seja nulo, for testada relativamente a um valor nulo, como demonstra o exemplo abaixo:

    Exemplo de verificação de nulo redundante (instanceof sempre falso)


    Exemplo de verificação de nulo redundante

Processamento do comentário de Javadoc O compilador Java Eclipse pode processar comentários de Javadoc. A pesquisa comunica referências em comentários doc e a refactorização actualiza também estas referências. Esta função é controlada a partir da página de preferências Abre a página de preferências de problemas de Javadoc Java > Compilador > Javadoc (ou definida para um projecto individual, utilizando Projecto > Propriedades > Compilador Java > Javadoc).

Página de preferências Javadoc

Quando estão activados, os comentários de Javadoc mal formados são marcados no editor Java e podem ser ajustados através da utilização de Editar > Correcção Rápida (Ctrl+1):

Problemas detectados em Javadoc

Suprimir avisos Na versão J2SE 5.0 e em versões posteriores, pode suprimir todas os avisos opcionais do compilador, utilizando a anotação SuppressWarnings.
Neste exemplo, addAll() surge marcado como um método não utilizado. A Correcção Rápida (Ctrl+1) é utilizado para adicionar uma anotação SuppressWarnings de modo a que o aviso não seja apresentado para este método.
Correcção rápida para adicionar a anotação SuppressWarning
Limpezas
Novidades da 3.3
Código > Limpar... ajuda a corrigir vários problemas de uma vez e a estabelecer um estilo de código constante. Por exemplo, é possível:
  • converter todos os ciclos for para ciclos for melhorados onde seja possível
  • marcar todos os métodos de substituição em todo o projecto com uma anotação @Override.
  • organizar importações
  • formatar o código
  • remover código desnecessário

As limpezas estão organizadas em perfis de limpeza. 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.

Página de preferências de Limpeza

Refactorização

Criação de scripts de refactorizações A maioria das refactorizações oferecidas pela JDT pode não só ser executada interactivamente, como também por um script de refactorização.

Crie um script de refactorizações a partir do histórico de refactorizações, utilizando Refactorizar > Criar Script....

Um script de refactorizações pode então ser posteriormente aplicado a um espaço de trabalho arbitrário, utilizando Refactorizar > Aplicar Script....

Estes scripts de refactorização podem ser utilizados em diferentes cenários, tais como correcção automática de quebra de alterações de API entre camadas de software ou fornecimento de correcções com semântica complexa.
Migração segura de ficheiro JAR Sempre que exporta um ficheiro JAR a partir do espaço de trabalho, o Assistente Exportar JAR oferece a opção de incluir informações sobre refactorização no ficheiro JAR.

Utilize Ficheiro > Exportar... e seleccione Ficheiro JAR. Na primeira página do Assistente Exportar JAR, seleccione Exportar refactorizações de projectos assinalados. Faça clique na ligação para seleccionar as refactorizações a incluir.

Deste modo, os clientes têm a possibilidade de migrar um versão anterior do ficheiro JAR para um novo ficheiro, utilizando a refactorização Refactorizar > Migrar Ficheiro JAR.... Esta refactorização actualiza automaticamente todo o código dependente da versão anterior do ficheiro JAR, para utilizar a nova versão do ficheiro JAR.

Pesquisar

Localizar variáveis e o respectivo acesso de leitura/escrita É possível localizar e variáveis e ver o respectivo estado de leitura/escrita através da selecção de um identificador (variável, método ou tipo de referência ou declaração) e invocação de Pesquisa > Ocorrências em ficheiro> Identificador. Isto vai marcar todas as referências deste identificador no mesmo ficheiro. Os resultados também são apresentados na vista pesquisar, juntamente com os ícones que mostram o acesso de leitura e de escrita da variável.

Acesso de leitura e de escrita a um campo

Em alternativa, utilize a função Marcar Ocorrências para destacar ocorrências de forma dinâmica. Pode pesquisar em vários ficheiros através da utilização das funções de pesquisa geral (Pesquisar > Referências).

Pesquisar métodos com um tipo de retorno específico Para pesquisar métodos com um tipo de retorno específico, utilize "* <tipo de retorno>" como é exemplificado:
  • Abra a caixa de diálogo de pesquisa e faça clique no separador Pesquisa Java.
  • Escreva '*' e o tipo de retorno, separado por um espaço, na Cadeia de pesquisa.
  • Assinale o quadrado de confirmação Dependente de maiúsculas e minúsculas.
  • Seleccione Método e Declarações e depois faça clique em Pesquisar.

Pesquisar método com determinado tipo de retorno

Correspondências de pesquisa de filtros em Javadoc Por predefinição, a Pesquisa Java localiza referências dentro de código Java e Javadoc. Se não pretende ver as referências dentro de Javadoc, pode filtrar estas correspondências, activando "Filtrar Javadoc" no menu da vista (símbolo do triângulo) da vista de pesquisa.
Filtrar potenciais correspondências de pesquisa As potenciais correspondências ocorrem sempre que um problema relativo ao tempo de compilação impede que o motor de pesquisa processe totalmente a correspondência. Filtrar estas correspondências com Filtrar Potencial no menu da vista de pesquisa (símbolo do triângulo).
Rastrear encadeamentos de chamadas do método com a Hierarquia de Chamada Utilize a Hierarquia de Chamada para seguir encadeamentos de chamadas longos ou complexos sem perder o contexto original: Basta seleccionar um método e invocar Navegar > Abrir Hierarquia de Chamada (Ctrl+Alt+H).

Vista Hierarquia de Chamada

Navegação e leitura do código

Abrir numa selecção no editor de Java Existem duas formas de abrir um elemento de uma referência no editor Java.
  • Seleccione a referência no código e prima F3 (Navegar > Abrir Declaração)
  • Mantenha a tecla Ctrl premida, mova o ponteiro do rato sobre a referência e faça clique na hiperligação
Navegação de estilo da hiperligação
A navegação de estilo da hiperligação pode ser configurada através do quadrado de confirmação Suportar navegação de estilo da hiperligação na página de preferências Abre a página de preferências dos editores de texto Geral > Editores > Editores de Texto.
Esquemas no local Prima Ctrl+F3 no editor Java para fazer surgir um esquema no local do elemento na posição actual do cursor. Ou prima Ctrl+O (Navegar > Esquema Rápido) para fazer surgir um esquema no local do ficheiro origem actual.

Esquema no local

Esquemas no local mostram membros herdados Prima Ctrl+O ou Ctrl+F3 de novo para adicionar membros herdados a um esquema local aberto. Os membros herdados têm uma etiqueta cinzenta. Filtre e ordene o esquema com o menu no canto superior direito.

Vista Esquema rápido

Hierarquia local Descubra quais são os possíveis receptores de uma chamada virtual, utilizando Hierarquia rápida de tipos. Coloque o cursor dentro da chamada de método e prima Ctrl+T (Navegar > Hierarquia rápida de tipos). A vista mostra todos os tipos que implementam o método com um ícone completo.

Vista Hierarquia rápida

Prima Enter para abrir o método correspondente num editor. Volte a premir Ctrl+T para comutar para a Hierarquia de supertipo.

Destaque avançado O editor Java pode destacar o código fonte segundo a respectiva semântica (por exemplo: campos estáticos, variáveis locais, invocações de método estático). Consulte as várias opções na página de preferências Página de preferências de coloração de sintaxe Java > Editor > Coloração de Sintaxe.

Um exemplo do destaque avançado.

Regiões inicialmente compactadas Pode especificar as regiões que são compactadas por predefinição quando é aberto um editor. Consulte a página de preferências Abre a página de preferências de compactação Java > Editor > Compactação para personalizar estas opções.

Página de preferências Compactação

Marcar ocorrências Ao trabalhar no editor, active Marcar Ocorrências na barra de ferramentas (Imagem do Botão da Barra de Ferramentas Marcar Ocorrências ) ou prima Alt+Shift+O. Irá ver num ficheiro, onde uma variável, método ou tipo são referenciados.
Editor com ocorrências de 'info' marcadas
A selecção de um tipo de retorno mostra-lhe os pontos de saída do método. Seleccione uma excepção para ver onde é lançada.
Editor com saídas de método marcadas
Seleccione uma super classe ou interface para ver os métodos a sobrepor ou a implementar um método do super tipo seleccionado.
Ajuste 'marcar ocorrências' na página de preferências Abre a página de preferências marcar ocorrências Java > Editor > Marcar Ocorrências.
Altere a cor do marcador na página de preferências Abre a página de anotações Geral > Editores > Editores de Texto > Anotações.

Para mostrar ocorrências na vista Pesquisa, use a função Pesquisa> Ocorrências.

Ir para método seguinte / anterior Para navegar rapidamente para o método ou campo seguinte ou anterior, utilize
Ctrl+Shift+Seta para cima (Navegar > Ir para > Membro anterior) ou Ctrl+Shift+Seta para baixo (Navegar > Ir para> Membro seguinte)
Controlar a navegação entre anotações Utilize os botões da barra de ferramentas Anotação Seguinte / Anterior ou Navegar > Anotação Seguinte (Ctrl+.) e Navegar > Anotação Anterior (Ctrl+,) para navegar entre anotações num ficheiro origem Java. Com os menus pendentes de botões, pode configurar as anotações em que pretende parar:

Menu pendente anotação Seguinte/Anterior.

Lembretes no código de Java Quando identificar um comentário no código fonte Java com "TODO", o compilador Java cria automaticamente uma tarefa correspondente como um lembrete. Ao abrir a tarefa vai navegar de volta para o "TODO" no código. Utilize a página de preferências Abre a página por cumprir Java > Compilador > Identificadores de Tarefas para configurar todos os outros identificadores especiais (como "FIXME") que gostaria de detectar na lista de tarefas.

Identificadores de tarefas na vista editor e tarefa

Truques para a caixa de diálogo Abrir tipo
A caixa de diálogo Abrir tipo (Navegar > Abrir tipo ou o botão da barra de ferramentas) permite navegar para um tipo através do respectivo nome.
  • Para localizar tipos rapidamente, basta escrever as maiúsculas do respectivo nome:
    IOOBE encontra IndexOutOfBoundsException.
    Ou escreva os primeiros caracteres de cada parte do nome:
    NuPoiE encontra NullPointerException.
  • Para ter acesso a todos os tipos que terminem com um determinado sufixo, por exemplo, todos os sufixos Tests, utilize *Test< para não ver todos os tipos que contém Test noutra parte do nome.
  • Para abrir vários tipos de uma vez, seleccione-os na lista e faça clique em OK.
Diálogo Abrir tipo com correspondência de sequência minúscula-maiúscula
Tornar o menu flutuante persistente Pode abrir o texto num menu flutuante numa janela deslocável premindo F2 (Editar > Mostrar Descrição da Sugestão de Ferramenta). Pode seleccionar e copiar o conteúdo desta janela.

Janela que contém o conteúdo do menu flutuante

Menus flutuantes no editor de Java Pode ver menus flutuantes diferentes no editor Java, através da utilização das teclas modificadoras (Shift, Ctrl, Alt).
Quando mover o rato por cima de um identificador no editor Java, por predefinição, é apresentado um menu flutuante com o Javadoc extraído da origem correspondente deste elemento. Se mantiver premida a tecla Ctrl vai surgir o código fonte.

Menu flutuante que mostra o código do elemento no menu flutuante

Pode alterar este comportamento e definir as ajudas flutuantes para outras teclas modificadoras na página de preferências Abre a página de ajudas flutuantes Java > Editor > Ajudas Flutuantes.
Assinatura inferida de método genérico
Pode utilizar a ajuda flutuante para mostrar a assinatura inferida de um método genérico.

Menu flutuante que mostra a assinatura inferida do método genérico

Abrir e configurar a documentação externa de Javadoc Caso pretenda abrir a documentação de Javadoc para um tipo, método ou campo com Shift+F2 (Navegar > Abrir Javadoc Externo), primeiro tem de especificar as localizações da documentação para a biblioteca ascendente de elementos (JAR, pasta de classes) ou de projectos (pasta origem).
No caso das bibliotecas, abra a página do caminho de construção (Projecto > Propriedades > Caminho de Construção Java), aceda a Bibliotecas, e expanda o nó da biblioteca onde é possível editar o nó 'localização de Javadoc'. A documentação pode ser local no seu sistema de ficheiros, numa pasta ou arquivo ou num servidor da Web.

Diálogo Configurar a localização de Javadoc no caminho de construção de Java

Para tipos, métodos ou campos nas pastas de origem, vá para (Projecto > Propriedades > Localização de Javadoc).

Vistas Java

Organizar o espaço de trabalho com inúmeros projectos Utilize Elementos de Nível Superior > Conjuntos de Trabalho no menu da vista do Explorador de Pacotes, para activar um novo modo que apresenta 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 Configurar Conjuntos de Trabalho a partir do menu da vista do Explorador de Pacotes para configurar quais os conjuntos de trabalho que são apresentados. A caixa de 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.

Atribuir conjuntos de trabalho
Novidades da 3.3
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.

Imagem do ecrã que mostra a caixa de diálogo de atribuição de conjuntos de trabalho

Vista Declaração A vista Declaração ( Abre a vista Declaração de Java Janela > Mostra vista > Outra... > Java > Declaração) mostra a origem do elemento seleccionado no editor de Java ou numa vista de Java.

Vista Declaração

Vista Javadoc A vista Javadoc ( Abre a vista Javadoc Janela > Mostrar vista > Outra... > Java > Javadoc) mostra o Javadoc do elemento seleccionado no editor de Java ou numa vista Java.

Vista Javadoc

Vista hierarquia de tipo e implementações de método / definições Para descobrir quais os tipos que numa hierarquia substituem um método, utilize a função 'Mostrar Membros na Hierarquia'.
  • Seleccione o método a observar e prima F4 (Navegar > Hierarquia Abrir Tipo). Vai abrir a vista hierarquia de tipo no tipo que declara o método.
  • Com o método seleccionado na vista Hierarquia, prima o botão da barra de ferramentas 'Bloquear Vista e Mostrar Membros na Hierarquia'.
  • A vista hierarquia apresenta agora apenas tipos que implementam ou definem o método 'bloqueado'. Por exemplo, pode verificar que isEmpty() está definido em List e implementado em ArrayList e em Vector mas não em AbstractList.

Bloquear vista e mostrar membros na hierarquia

Vista Hierarquia de tipo suporta agrupamento através do tipo que define A vista Método da hierarquia de tipo permite-lhe ordenar os métodos de tipos seleccionados através dos tipos que os definem . Por exemplo, no caso de AbstractList pode verificar que este contém métodos definidos em Object, Collection e List:

Ordenar membros pelo tipo que definem na hierarquia de tipo

Sugestões na hierarquia de tipo
  • Coloque o foco na hierarquia de tipo num novo tipo premindo F4 (Navegar > Abrir Hierarquia de Tipo) num elemento ou num nome seleccionado.
  • Pode abrir a vista Hierarquia não apenas para tipos mas também para pacotes, pastas de origem, arquivos JAR e projectos Java.
  • Pode Arrastar & Largar um elemento para a vista Hierarquia para o enfatizar nesse elemento.
  • Pode alterar a orientação (da vertical predefinida para a horizontal) da vista Hierarquia do menu da barra de ferramentas da vista.
Comparação estrutural do código Java Uma comparação estrutural do código Java ignora a ordem textual dos elementos Java como os métodos e campos e apresenta mais claramente os elementos que são alterados, adicionados ou removidos.
Para começar uma comparação estrutural de ficheiro Java tem duas opções:
  • Seleccione duas unidades de compilação Java e escolha Comparar com > Entre si no menu contextual da vista. Se os ficheiros tiverem diferenças, estes são abertos num Editor de Comparação. A área de janela superior mostra os elementos Java que diferem; se fizer duplo clique num deles vai mostrar a origem do elemento na área de janela inferior.
  • Em qualquer contexto onde está envolvida uma comparação de ficheiros (por exemplo, uma Sincronização de CVS), se fizer duplo clique num ficheiro Java vai apresentar não só o conteúdo do ficheiro num visualizador de comparação de texto, mas também executa uma comparação estrutural e abre uma nova área de janela que mostra os resultados.

Comparação estrutural do código Java

Pode inclusive ignorar alterações de formatação durante a execução da comparação estrutural: active a opção Ignorar espaço em branco, do botão da barra de ferramentas do Editor de comparação, ou do menu contextual do visualizador de comparação.
Comparação estrutural dos ficheiros de propriedade Uma comparação estrutural de ficheiro de propriedade Java (extensão: .properties) ignora a ordem textual das propriedades e mostra as propriedades que são alteradas, adicionadas ou removidas.
Para iniciar uma comparação estrutural dos ficheiros de propriedade, tem duas opções:
  • Seleccione dois ficheiros no Explorador de pacotes ou no Navegador e escolha Comparar Com > Entre Si no menu contextual da vista.
  • Em qualquer contexto onde estiver envolvida uma comparação de ficheiros (por exemplo, uma Sincronização de CVS), se fizer duplo clique sobre um ficheiro de propriedade não vai apenas mostrar o conteúdo do ficheiro num visualizador de comparação de texto, mas também executa uma comparação estrutural e abre uma nova área de janela que mostra os resultados.

Comparação estrutural dos ficheiros de propriedades

Apresentação de pacotes hierárquica vs. apresentação de pacotes simples Uma opção no menu da vista Pacotes Java (e no Explorador de Pacotes) permite alterar o modo de apresentação dos pacotes. Escolher Apresentação de pacotes > Hierárquica apresenta os pacotes em árvore, com os sub-pacotes por baixo dos pacotes; escolher Apresentação de pacotes > Simples apresenta os mesmos na disposição padrão, como lista simples que contém todos os pacotes e sub-pacotes como descendentes.
Disposição  de pacotes simples Disposição de pacotes hierárquico
Pacotes lógicos A vista Pacotes Java (perspectiva Procurar Java) adere pacotes do mesmo nome através de pastas de origem num projecto. A captura de ecrã mostra a vista Pacotes que contém um pacote lógico.

Perspectiva Procura Java que contém um pacote lógico

Compactar nomes dos pacotes Se os nomes dos pacotes forem muito extensos, pode configurar um nome comprimido que apareça nos visualizadores. A configuração do padrão da compressão é efectuada na página de preferências Abre a página de preferências Aparência Java > Aparência.

Configuração do padrão da compressão na página de preferências da aparência de Java

Ao utilizar este exemplo, os pacotes são apresentados da seguinte forma:

Nomes de pacotes compactados

Manipular o caminho de construção Java directamente no Explorador de Pacotes Em vez de manipular o Caminho de construção Java em Projecto > Propriedades > Caminho de Construção Java, utilize as acções no menu contextual do Explorador de Pacotes.
Por exemplo, pode adicionar novas pastas de origem, arquivos e bibliotecas ao caminho de construção ou incluir e excluir ficheiros e pastas de uma pasta de origem.

Menu contextual do caminho de construção

Agrupar problemas de Java Configure a vista Problemas para agrupar os problemas de Java em categorias através de Agrupar por > Tipo de problema Java no menu da vista.

imagem da vista Problemas com problemas agrupados

É possível controlar se um erro configurável deve ou não ser fatal, na página de preferências Abre a página de preferências de Erros/Avisos Java > Compilador > Erros/Avisos.
Etiquetas coloridas nas vistas de Java
Novidades da 3.3
Para ativar etiquetas coloridas nas vistas de Java, abra a página de preferências Abre a página de preferências Aparência Java > Aparência e seleccione Mostrar etiquetas coloridas.

Imagem do ecrã que mostra o Explorar de pacotes com etiquetas coloridas

Indicador de tipo de Java Active o Indicador de Tipo Java na página de preferências Abre a página de preferências Decoração de Etiquetas General > Aparência > Decoração de Etiquetas para determinar a natureza do primeiro tipo numa unidade de compilação ou ficheiro de classe. É apresentado um acessório para interfaces, anotações e enumerações, ao passo que uma classe comum não contém acessórios.

Imagem de Decorador de Etiquetas de Indicadores de Tipos Java

Vários

Preferências específicas do projecto Todos os estilos de código e opções do compilador podem ser definidas em cada projecto.
Abra as páginas de propriedades dos projectos através de Projecto > Propriedades num projecto, ou utilize a ligação nas preferências do espaço de trabalho (por exemplo, a página de preferências Abre a página de preferências Estilo de Código Java > Estilo de Código) para abrir a página de propriedades de um projecto e activar definições específicas do projecto.

Página de propriedades do projecto com caixa de verificação 'Activar definições específicas do projecto'

As definições específicas do projecto são armazenadas num ficheiro de configuração dentro do projecto (na pasta '.settings'). Quando partilhar um projecto numa equipa, os membros da equipa também vão obter as definições específicas deste projecto.
Regras de acesso
As regras de acesso dão-lhe a possibilidade de reforçar as regras da API para tipos de bibliotecas referenciadas. Na página do caminho de construção Java (Projecto > Propriedades > Caminho de construção de Java), edite o nó 'Regras de acesso' disponível em projectos referenciados, arquivos, pastas de classes e bibliotecas.
Os pacotes ou tipos nestas referências podem ser classificados como:
  • Acessível
  • Desaconselhado
  • Proibido
De acordo com as definições na página de preferências Abre a página de preferências Erros/Avisos Java > Compilador > Erros/Avisos, o compilador irá marcar referências desaconselháveis e proibidas através de avisos ou erros.

Caixa de diálogo Configuração das regras de acesso

JUnit Seleccione um método de teste de JUnit numa vista e escolha Executar > Teste de JUnit no menu contextual ou Executar > Executar como > Teste de JUnit no menu principal. Esta acção vai criar uma configuração de lançamento para executar o teste seleccionado.
Ocultar a vista JUnit até que ocorram erros ou falhas Pode configurar a vista JUnit de modo a que esta seja aberta apenas quando ocorrerem erros ou falhas. Escolha a opção Activar só ao ocorrer erro/falha no menu da vista JUnit. Dessa forma, pode ter a vista definida como uma vista rápida e nunca a ver quando não existem testes com falhas. Enquanto não existirem problemas nos testes, vai ver este ícone A executar com êxito (a quantidade de pequenos quadrados verdes vai crescer, indicando progresso) enquanto os executa e este ícone Terminado com êxito depois de estarem concluídos. Contudo, se ocorrerem erros ou falhas, o ícone vai mudar para Ocorreu falha ou erro (ou Terminou com falha ou erro se os testes tiverem terminado) e surge a vista JUnit.
Assistência a conteúdos em campos de diálogos A assistência a conteúdos (Ctrl+Barra de Espaços) está igualmente disponível em campos de entrada de várias caixas de diálogo Java. Procure um pequeno ícone de lâmpada inteligente ao lado do campo quando estiver em foco.

Caixa de diálogo Nova Classe

Posicionamento do cursor inteligente em caixas de diálogo que mostram nome Java Os campos de texto para editar os nomes Java suportam o posicionamento de cursor inteligente. Utilize Ctrl+Esquerda e Ctrl+Direita para parar em cada limite de sequência minúscula-maiúscula dentro de um nome. Utilize Ctrl+Shift+Esquerda e Ctrl+Shift+Direita para expandir a selecção em pequenos passos. Utilize Ctrl+Delete para eliminar a parte seguinte e Ctrl+Backspace para eliminar a parte anterior de um nome.

Posicionamento de cursor inteligente na caixa de diálogo
Ctrl+Direita:
Posicionamento de cursor inteligente na caixa de diálogo
Ctrl+Shift+Direita:
Posicionamento de cursor inteligente na caixa de diálogo
escrever "Equal":
Posicionamento do cursor inteligente na caixa de diálogo
Ctrl+Delete:
Posicionamento de cursor inteligente na caixa de diálogo
escrever "To":
Posicionamento de cursor inteligente na caixa de diálogo
Definir prefixos ou sufixos para campos, parâmetros e variáveis locais Pode configurar o prefixo ou sufixo para os campos, campos estáticos, parâmetros e variáveis locais. Estas definições na página de preferências Abre a página de preferências Estilo de Código Java > Estilo de Código são utilizadas na assistência a conteúdos, correcção rápida e refactorização, sempre que um nome de variável é calculado.

Página de preferências Convenções de nomenclatura no estilo de código

Organização de Importações não funciona apenas em ficheiros únicos Pode invocar Código > Organizar Importações em conjuntos de unidades de compilação, pacotes, pastas de origem ou projectos Java.
Organizar as importações ao guardar
Novidades da 3.3
O Eclipse pode organizar as importações automaticamente sempre que guardar um editor. Esta função pode ser activada globalmente na página de preferências Abre a página de preferências de Acções de salvaguarda Java > Editor > Acções de salvaguarda. As acções de salvaguarda também podem ser configuradas por projecto, o que facilita a normalização dos mesmos, uma vez que as definições podem ser partilhadas por uma equipa:

Página de propriedades Acções de salvaguarda

Além de organizar importações, as acções de salvaguarda podem igualmente formatar código e executar outro tipo de limpezas.

Formatar selecção Seleccione vários ficheiros de Java para formatar e escolha Código > Formatar para formatá-los todos de uma vez. A acção de formatação também está disponível para pacotes, pastas de origem ou projectos Java.

No Editor de Java, Código > Formatar (Ctrl+Shift+F) formata unicamente a região seleccionada. Se nada estiver seleccionado, todo o ficheiro é formatado.

Utilizar um JRE específico para um projecto Sempre que cria novos projectos, o JRE que é adicionado por predefinição é o JRE seleccionado na página de preferências Abre a página de preferências JREs Instalados Java > JREs Instalados. Para definir um JRE específico de projectos, abra a página de propriedades do caminho de Construção Java (Projecto > Propriedades > Caminho de Construção Java), e depois a página Bibliotecas, seleccione 'Biblioteca do Sistema de JRE' e prima Editar. Na caixa de diálogo 'Editar Biblioteca', pode seleccionar o JRE predefinido , um JRE de projecto específico ou um Ambiente de Execução para adicionar a novos projectos.

Editar a biblioteca  do sistema de JRE

Seleccionar ambiente de execução ao criar um projecto Java
Novidades da 3.3
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 Abre a página de preferências dos mbientes de execução Java > JREs instalados > Ambientes de execução.

Imagem do ecrã que mostra o assistente 'Novo projecto Java'

Utilizar arrastar e largar A acção Arrastar e Largar é uma substituição conveniente de Editar > Cortar e Editar > Colar acções respectivas Editar > Copiar e Editar > Colar. Mantenha a tecla Ctrl premida enquanto arrastar para mudar de mover para copiar.

Aspectos importantes:

  • Se mover as unidades de compilação Java entre pacotes através de Arrastar & Largar, o comportamento será semelhante ao de um movimento de refactorização - todas as importações em falta são adicionadas e as referências actualizadas
  • Se arrastar e largar elementos de origem, como tipos ou métodos, apenas é copiado o código de origem correspondente - não será actualizada nenhuma referência
Propagar identificador de desactualização O compilador Java pode ser configurado para diagnosticar desactualização, utilizando as opções que constam da página de preferências >Abre a página de preferências Erros/Avisos Java > Compilador > Erros/Avisos.

Página de preferências Compilador

Ao utilizar esta configuração, o resultado é:

I.java

X.java

Y.java

Se não conseguir corrigir a utilização de uma construção desactualizada, recomenda-se que identifique o método, campo ou tipo delimitado como obsoleto. Desta forma, reconhece que efectuou uma sobreposição de uma construção desactualizada e o sinalizador de desactualização é propagado para mais dependências.

X.java

Y.java

Recuperar de incoerências anómalas Na ocorrência rara de uma disfunção, as JDT podem revelar algumas incoerências , tais como:
  • resultados em falta numa Pesquisa de Java ou Abrir Tipo
  • itens não válidos no explorador de pacotes

Para que a JDT regresse a um estado consistente, deve executar as acções seguintes nesta ordem exacta:
  1. Fechar todos os projectos através da utilização da acção de menu do navegador Fechar Projecto
  2. Sair e reiniciar o Eclipse
  3. Abrir todos os projectos através da utilização da acção de menu do navegador Abrir projecto
  4. Activar manualmente uma construção limpa de todo o espaço de trabalho (Projecto > Limpar...)

Depurar

Novidades

Para mais sugestões e truques de depuração, consulte as novidades da plataforma e em JDT

Lançar a partir do menu contextual

Pode executar e depurar aplicações Java no menu contextual. Pode lançar um ficheiro de código, pacote, método, tipo, etc. escolhendo Executar como (ou Depurar como) > Aplicação de Java no menu de contexto numa vista ou editor. Alternativamente, pode utilizar a associação de tecla de atalho de lançamento da aplicação Java (Alt+Shift+D, J). As acções de nível superior Executar como (ou Depurar como) também dependem da selecção actual ou do editor activo.

Menu Contexto com opção de lançamento

Avaliações no depurador

A avaliação do fragmento está disponível numa quantidade de locais no depurador. Se escolher Apresentar ou Inspeccionar no menu contextual do editor ou a vista Variáveis, vai ser apresentado o resultado num menu emergente cujo resultado pode ser enviado para as vistas Apresentar ou Expressões.

Resultado de uma inspecção num menu emergente

Gestão de vistas nas perspectivas de não-depuração

A vista Depurar gere automaticamente as vistas relacionadas com a depuração com base na selecção da vista (apresentar vistas Java para estruturas de pilhas Java e vistas C para estruturas de pilhas C, por exemplo). Por predefinição, esta gestão de vista automática apenas ocorre na perspectiva Depurar, mas pode activá-la para outras perspectivas, através da página de preferências Gestão de vista disponível a partir do menu pendente da barra de ferramentas Vista Depurar.

Variáveis de Ambiente

Pode especificar o ambiente utilizado para lançar aplicações Java, através do separador Ambiente.

Separador Ambiente na caixa de diálogo configuração de lançamento

Substituições de Cadeia

As variáveis são suportadas para muitos parâmetros de configurações de lançamento de Aplicação Java. A maioria dos campos que suportam variáveis têm um botão Variáveis... junto a eles, tais como o programa e os campos de argumentos da VM. O campo Tipo Principal suporta variáveis também; a variável ${java_type_name} permite-lhe criar uma configuração que irá executar o tipo seleccionado.

Separador Argumentos na caixa de diálogo de configuração de lançamento

Estruturas Lógicas

A comutação Estruturas Lógicas na barra de ferramentas da vista Variáveis apresenta estruturas alternativas para tipos comuns. As JDT facultam vistas para Correlações, Recolhas e Compostos de SWT. Pode definir as estruturas lógicas para outros tipos da página de preferências Estruturas Lógicas.

Vector apresentado como uma estrutura lógica na vista variável

Argumentos da VM Predefinidos

Se especificar os mesmos argumentos para uma determinada VM com frequência, pode configurar Argumentos da VM Predefinidos na página de preferências JREs Instalados. É mais conveniente do que especificá-los para cada configuração de lançamento.

Página de preferências JRE com argumento predefinido especificado

Parar no Principal É possível utilizar Parar no principal numa configuração de lançamento de Java para fazer com que o seu programa pare na primeira linha executável do método principal sempre que o executar em modo de depuração.

Separador Principal com a opção Parar no principal seleccionada

Pontos de interrupção condicionais Pode utilizar pontos de interrupção condicionais em Propriedades de ponto de interrupção... para controlar quando um ponto de interrupção interrompe realmente uma execução. Pode especificar se pretende que o ponto de interrupção suspenda a execução apenas quando a condição for verdadeira ou quando o valor da condição se alterar.

Editor de condição do ponto de interrupção na caixa de diálogo propriedades do ponto de interrupção

Desactivar pontos de interrupção Se notar que adiciona e remove frequentemente um ponto de interrupção no mesmo local, considere a desactivação do ponto de interrupção quando não necessitar dele e active-o quando voltar a necessitar dele. Isso pode ser efectuado através da utilização de Desactivar ponto de interrupção no menu contextual de ponto de interrupção ou desmarcando o ponto de interrupção na vista Pontos de interrupção.

Também pode desactivar temporariamente todos os pontos de interrupção através da acção Ignorar todos os pontos de interrupção na barra de ferramentas da vista Pontos de interrupção. Isto vai indicar ao depurador que ignore todos os pontos de interrupção enquanto mantém o estado actual activado.

Acção Desactivar ponto de interrupção no menu contextual da régua

Alterar valores da variável Quando um módulo é suspenso no depurador, pode alterar os valores de primitivos Java e Cadeias na vista Variáveis. No menu contextual da variável, escolha Alterar valor da variável. Também pode alterar o valor escrevendo um novo na área de janela Detalhes e através da acção Atribuir valor do menu contextual (associação de teclas CTRL+S).

Alterar valor da variável na área de janela de detalhes

Valores da variável na ajuda flutuante Quando um módulo é suspenso e o cursor é colocado por cima de uma variável no editor Java, o valor desta variável é apresentado como uma ajuda flutuante.

Menu flutuante do valor da variável no editor

Largar na estrutura Quando executa os passos através do código, pode ocasionalmente avançar demasiado ou passar para lá de uma linha onde pretendia ficar. Em vez de reiniciar a sessão de depuração, pode utilizar a acção Largar na Estrutura para voltar rapidamente para o início de um método. Seleccione a estrutura da pilha correspondente ao método Java que pretende reiniciar e seleccione Largar na estrutura da vista Depurar ou do menu contextual da estrutura da pilha. O indicador de instruções actual será reposto para a primeira instrução executável no método. Funciona também para estruturas de pilhas não superiores.

Repare que Largar na estrutura só está disponível ao depurar com uma VM 1.4 ou superior ou com a J9 VM. Existem algumas situações em que uma JVM pode não estar disponível para fazer emergir as estruturas pretendidas da pilha. Por exemplo, geralmente é impossível largar na estrutura inferior da pilha ou em qualquer estrutura por baixo de um método nativo.

Substituição do código em actividade O depurador suporta a Substituição do código em execução quando depurar com uma VM 1.4 ou posterior, ou com a J9 VM. Vai permitir-lhe efectuar alterações ao código que estiver actualmente a depurar. Repare que algumas alterações como métodos novos ou eliminados, variáveis de classes ou classes internas não podem ser translineadas em actividade, dependendo do suporta facultado por uma determinada VM.
Entrar em selecções e depurar por hiperligação O depurador Java permite-lhe entrar num único método numa série de chamadas de métodos encadeados ou imbricados. Basta destacar o método em que pretende entrar e seleccionar Entrar na selecção no menu contextual do editor Java.

Esta função funciona em locais que não sejam a linha de execução actual. Tente depurar até um ponto de interrupção e entre num método umas linhas abaixo do apontador de instruções actual.

Entrar na selecção

Pode igualmente entrar num método através da navegação por hiperligação. Basta colocar o cursor em cima do método no qual pretende entrar e usar combinação Ctrl+Alt+Clique para entrar no método (em vez de Ctrl+Clique que o levará até ao código fonte).

Use Ctrl+Alt+Clique para entrar numa hiperligação de método

Fixação e bloqueio da consola A saída apresentada na consola pode ser bloqueada para um determinado processo através da acção Fixar Consola na barra de ferramentas da vista Consola. Também uma acção de Bloqueio de Deslocamento que impede a consola de deslocar enquanto são anexados novos dados de saída.
Criar itens de observação Um artigo de observação é uma expressão na vista Expressões, cujo valor é actualizado à medida que é executada a depuração. Pode criar itens de observação do editor Java seleccionando uma expressão ou variável e escolhendo Observar no menu contextual ou no menu Executar de nível superior.
Pontos de observação Um ponto de observação é um ponto de interrupção que suspende a execução cada vez que um campo especificado é acedido ou modificado. Para definir um ponto de observação, seleccione um campo na vista Esquema e escolha Comutar Ponto de Observação a partir do menu contextual respectivo. Para configurar um ponto de observação, seleccione o ponto de observação na vista Pontos de interrupção e escolha Propriedades... no respectivo menu contextual. As propriedades mais importantes para este tipo de ponto de interrupção são os quadrados de confirmação Acesso e Modificação, que controlam quando o ponto de interrupção pode suspender a execução.

Caixa de diálogo propriedades do ponto de interrupção

Módulos e Supervisores O depurador Java opcionalmente apresenta informações do supervisor na vista Depurar. Utilize a acção Mostrar Supervisores no menu pendente da vista Depurar para mostrar os módulos que retém bloqueios e os que aguardam para adquirir bloqueios. Os módulos envolvidos num impasse são apresentados a vermelho.

Vista Depurar a mostrar ciclos de impasse

Filtros de execução por passos Os filtros de execução por passos impedem que o depurador suspenda em classes e pacotes especificados ao entrar no código. Os filtros de execução por passos são estabelecidos através da página de preferências Abre a página de preferências Filtração por passos Java > Depurar > Filtração por passos. Quando a comutação Utilizar filtros de execução por passos estiver activada (na barra de ferramentas e no menu de depuração), os filtros são aplicados a todas as acções de execução por passos. Na vista Depurar, o pacote da estrutura da pilha seleccionado ou o tipo declarado podem ser rapidamente adicionados à lista do filtro seleccionando Filtrar tipo ou Filtrar pacote no menu contextual da estrutura da pilha.
Utilizar o caderno Se quiser experimentar na API ou testar um novo algoritmo, frequentemente é mais fácil utilizar uma página do caderno Java do que criar uma nova classe. Uma página do caderno é um contentor para fragmentos aleatórios de código que pode executar em qualquer altura sem um contexto. Para criar um página de caderno, crie um novo ficheiro com uma extensão .jpage (ou utilize o assistente Abre o assistente Novo Caderno Nova Página do Caderno). Introduza o código que pretende executar e, em seguida, seleccione-o. Existem três formas de executar o seu código:
  • Executar o código seleccionado e colocar o resultado devolvido num menu emergente de inspecção
  • Executar o código seleccionado e colocar o resultado da Cadeia na página do caderno

    Página Caderno a mostrar o resultado

  • Executar o código seleccionado (e ignorar qualquer resultado devolvido)

Estas acções estão na barra de ferramentas da área de trabalho e também no menu contextual da página do caderno.

Editar
configurações
de lançamento
Mantendo premida a tecla Ctrl e efectuando uma selecção no menu pendente Executar ou Depurar vai abrir a configuração de lançamento associada para edição. A configuração de lançamento também pode ser aberta no menu contextual associado a qualquer artigo na vista Depurar.
Configurações de lançamento favoritas As configurações de lançamento surgem nos menus pendentes Executar/Depurar pela ordem iniciada mais recentemente. Contudo, é possível obrigar uma configuração de lançamento a surgir sempre na parte superior dos menus pendentes, tornando a configuração um 'favorito'. Utilize a acção Organizar Favoritos... no menu pendente apropriado para configurar as suas configurações de lançamento favoritas.
Formatadores de detalhes Nas vistas Variáveis & Expressões, a área de janela de detalhes apresenta uma representação expandida da variável actualmente seleccionada. Por predefinição, esta representação expandida é o resultado de chamar toString() no objecto seleccionado, mas pode criar um formatador detalhado personalizado que será utilizado em vez disso, escolhendo Novo Formatador de Detalhes no menu contextual da variável. Este formatador de detalhes será utilizado para todos os objectos do mesmo tipo. Pode visualizar e editar todos os formatadores de detalhes na página de preferências Abre a página de preferências Formatadores de detalhes Java > Depurar > Formatadores de Detalhes.

Caixa de diálogo Formatador de detalhes

Executar código com erros de compilação Pode executar e depurar código que não compilou correctamente. A única diferença entre executar código com e sem erros de compilação é que se a linha de código com um erro de compilação for executada, vai acontecer uma de duas coisas:
  • Se a preferência 'Suspender execução nos erros de compilação' na página de preferências Abre a página de preferências Depurar Java > Depurar for definida e o utilizador estiver a depurar, a sessão de depuração suspende como se tivesse atingido um ponto de interrupção. Repare que se a VM suportar Substituição de Código em Actividade, já poderia ajustar o erro de compilação e retomar a depuração
  • Caso contrário, a execução vai terminar com um erro 'compilação não processada'

É importante enfatizar que desde que o caminho de execução evite linhas de códigos com erros de compilação, pode executar e depurar tal como faz normalmente.

Translinear palavras na vista Variáveis A área de detalhes das vistas Variáveis e Expressões do depurador suporta translineação de palavras, disponível no menu pendente da vista.

Acção de translineação de palavras no menu pendente da vista Variáveis

Assistência de código no depurador A assistência de código está disponível em muitos contextos para lá do código de escrita no editor Java:
  • Ao inserir uma condição de ponto de interrupção
  • Na área de janela Detalhes da vista Variáveis & Expressões
  • Ao inserir um fragmento de código Formatador de Detalhes
  • Ao inserir um fragmento de código Estrutura Lógica
  • Ao inserir código numa página Caderno
  • Na vista Apresentar
Detalhes da linha de comandos Pode sempre ver a linha de comandos exacta utilizada para lançar um programa no modo executar ou depurar, seleccionando Propriedades no menu contextual de um destino do processo ou de depuração, mesmo se o lançamento tiver terminado.

Detalhes da linha de comando

Hiperligações do rastreio
da pilha
Os rastreios da pilha Java na consola surgem com hiperligações. Quando colocar o rato por cima de uma linha num rastreio da pilha, o indicador muda para uma mão. Ao premir o botão do rato vai abrir o ficheiro origem Java associado e coloca o cursor na linha correspondente. Ao premir o botão do rato no nome da excepção na parte superior do rastreio da pilha vai criar um ponto de interrupção de excepção.

Rastreios da pilha na vista Consola com hiperligações