Sugestões e Truques (JDT)

Edição Refactorização Navegação Pesquisar Vistas Vários Depurar

Origem de edição

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

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

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

Assistência de conteúdo para comentários de Javadoc

Suprimir os tipos na assistência de conteúdo Para impedir que determinados tipos apareçam na assistência de conteúdo, 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 de conteúdo, ajuste rápido 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 de conteúdo para variável, parâmetro de método e conclusões de nome de campo Pode utilizar a assistência de conteúdo 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 de Conteúdo 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.

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 de conteúdo em classes anónimas A assistência de conteúdo 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 de Conteúdo ou prima Ctrl+Espaço.

Assistência de conteúdo 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 de conteúdo Quando a assistência de conteúdo é 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 de conteúdo Java > Editor > Assistência de Conteúdo.
Pode temporariamente comutar o comportamento enquanto está na caixa de diálogo de selecção da assistência de conteúdo, premindo e mantendo premida a tecla Ctrl, enquanto selecciona a conclusão.
Assistência de conteúdo incremental Por predefinição, a assistência de conteúdo vai agora Inserir prefixos comuns automaticamente, semelhante à expansão da shell Unix. Para alterar esse comportamento, desmarque a definição na página de preferências Abre a
página de preferências de assistência de conteúdo Java > Editor > Assistência de Conteúdo.
Personalizar a assistência de conteúdo Novidades em 3.2 Invocar a assistência de conteúdo repetidamente (Ctrl+Barra de Espaços) circular pelas diferentes categorias de propostas.

Assistência
de conteúdo 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 de conteúdo Java > Editor > Assistência de Conteúdo > 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 Origem > Gerar Getter e Setter.

Caixa de 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 de conteúdo para criar getters e setters Outra forma de criar getters e setters é utilizar a assistência de conteúdo. 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 de
Conteúdo 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 delegados Para criar um método delegado para um campo, seleccione a declaração do campo e invoque Origem > Gerar Métodos Delegados. Vai adicionar os métodos seleccionados ao tipo que contém uma chamada de avanço para métodos delegados. Trata-se de um exemplo de um método de delegação:
Exemplos de
métodos delegados
Crie hashCode() e equals()
Novidades em 3.2
Para criar os métodos hashCode() e equals() invoque Origem > Gerar hashCode() e equals().

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

Utilizar Modelos para criar um método Pode definir um novo modelo que contenha um apêndice de método, utilizando a página de preferências Página de
preferências de modelos do editor Java > Editor > Modelos. Os modelos são apresentados juntamente com as propostas Assistência de Conteúdo (Ctrl+Barra de Espaços).
Também existem modelos, tais como 'private_method', 'public_method', 'protected_method' e mais.
Utilize a tecla Tabulação para navegar entre os valores a inserir (tipo, nome e argumentos de retorno).

Assistência de conteúdo com novas propostas de modelo do método

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

Ajuste rápido 'Criar método'

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

Ajuste rápido 'Alterar assinatura'

Utilizar Assistência de Conteúdo para criar um apêndice do construtor Na localização em que pretende adicionar o novo construtor, utilize a assistência de conteúdo depois de escrever as primeiras letras do nome do construtor.
Criar construtor com a assistência de conteúdo
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 de Conteúdo para sobrepor um método Invocar Assistência de Conteúdo (Ctrl+Espaço) no corpo de tipo na localização em que deverá ser adicionado o método. A assistência de conteúdo vai facultar todos os métodos que podem ser sobrepostos. Será criado um corpo de método para o método escolhido.

Assistência de conteúdo 'Sobrepor método'

Utilizar Ajuste Rápido para adicionar métodos não implementados Para implementar uma nova interface, adicione primeiro a declaração 'implementações' 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 do Ajuste Rápido. Faça clique na lâmpada ou prima Ctrl+1 (Editar > Ajuste Rápido) para escolher entre adicionar os métodos não implementados ou tornar a classe abstracta.

Ajuste Rápido a oferecer a proposta 'Adicionar métodos não implementados'

Sobrepor um método de uma classe de base Para criar um método que sobreponha um método de uma classe de base:
Seleccione o tipo no qual pretende adicionar os métodos e invoque Origem > Substituir/Implementar Métodos. Vai abrir uma caixa de diálogo que lhe permite escolher os métodos a sobrepor.

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

Criar um tipo a partir de um snippet de exemplo
Novidades em 3.2
Pode colar um snippet de código que contém um tipo Java directamente num pacote ou pasta de origem para criar um 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.
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 > Ajuste Rápido)
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 do ajuste rápido '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 'Origem').
Utilizar o Ajuste Rápido 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 Origem > 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, o Ajuste Rápido vai sugerir a adição de um bloco catch para o bloco existente.
  • Se não quiser processar a excepção, permita que o Ajuste Rápido adicione uma nova excepção lançada à declaração do método delimitado.

Propostas de ajuste rápido 'Excepção não detectada'

Pode converter um bloco catch numa excepção lançada sempre que desejar. Utilize Ctrl+1 (Editar > Ajuste Rápido) 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 > Ajuste Rápido) 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 gaste muito tempo ao 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:
Ajuste rápido '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 ajustes rápidos aqui.
Atalhos para Ajustes e Assistências Rápidos
Algumas das assistências rápidas populares como Mudar o Nome No Ficheiro e Atribuir ao Local podem ser invocadas directamente com Ctrl+2 R e Ctrl+2 L. Marque Marque a página de preferências Abre a
página de preferências de teclas Geral > Teclas para obter mais ajustes rápidos que suportem a invocação directa.

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

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 Origem > 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.
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

A assistência de conteúdo pode inserir nomes de argumentos automaticamente Pode definir uma opção em que a assistência de conteúdo 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 de conteúdo Java > Editor > Assistência de Conteúdo (veja a caixa de verificação Preencher nomes de argumentos na conclusão.) Por exemplo, quando seleccionar a segunda entrada aqui,

janela
de assistência de conteúdo

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

nomes
de argumentos inseridos pela assistência de conteúdo

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

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

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 de conteúdo Java > Editor > Assistência de Conteúdo também é útil quando o utilizador está a trabalhar com tipos parametrizados em J2SE 5.0.
Assistência de
Conteúdo num tipo parametrizado
resulta em:
Argumento de tipo inserido e adivinhado pela assistência de
conteúdo
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 > Ajuste Rápido).

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 os Ajustes Rápidos 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 de conteúdo. Contudo, não existe actualmente um dicionário incluído no Eclipse. O formato necessário é apenas uma lista de palavras separadas por novas linhas e os Ajustes Rápidos permitem-lhe adicionar novas palavras ao dicionário na passagem. Serão bem-vindas contribuições de dicionários.

Selecções estruturadas Pode rapidamente seleccionar código Java sintacticamente através da utilização da função Selecção Estruturada.
Destaque o texto e prima Alt+Shift+Seta para Cima ou seleccione Editar > Expandir Selecção Até > Elemento Delimitador a partir da barra de menu - a selecção é expandida até ao elemento de sintaxe 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 contem 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.
Mostrar Apenas a Origem do Elemento Seleccionado Prima o botão da barra de ferramentas Mostrar Origem Apenas do Elemento Seleccionado Mostrar Origem Apenas do Elemento
Seleccionado para apresentar um vista segmentada da unidade de compilação. Quando activado, o editor Java apresenta apenas o elemento (por exemplo, um método) seleccionado nas vistas Esquema ou Hierarquia. Quando desactivado, o editor Java apresenta a unidade de compilação inteira.
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 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 do Histórico Local para restaurar todos os membros removidos.

Caixa de diálogo Restaurar 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 no projecto para activar as definições específicas do projecto.
Criar comentários no seu código Os comentários podem ser explicitamente adicionados através de Origem > Gerar Comentário de Elemento (Alt+Shift+J) ou automaticamente, por intermédio de vários assistentes, refactorizações ou ajustes rápidos.
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 a caixa de verificação 'Gerar Comentário' nos novos assistentes de tipos Java) ou através da caixa de verificaçã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 no projecto para activar definições específicas do projecto.
Ordenar membros Pode Ordenar Membros de uma unidade de compilação Java seguindo uma ordem de categorias definida na página de preferências Abre a
página de preferências ordenar Java > Aparência > Ordenação de Membros.
A acção encontra-se em Origem > Ordenar Membros.
Translinear cadeias Pode ter literais de Cadeia translineadas quando as editar. Por exemplo, se encontrar este tipo de código:
String message= "This is a very long message.";

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

String message= "This is a very" +
           " long message.";

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 Escrever no editor 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 Origem > 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. A definição encontra-se na página de preferências Abre a página
de preferências de erro/aviso Java > Compilador > Erro/Avisos (ou definida para um projecto individual, utilizando Projecto > Propriedades > Compilador Java > Erro/Avisos).

Página de preferências Compilador

Estas definições também são detectadas à medida que o utilizador escreve, sendo que é-lhe oferecido um ajuste rápido para remover o código que não é necessário.
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 > Ajuste Rápido (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. O Ajuste Rápido (Ctrl+1) é utilizado para adicionar uma anotação SuppressWarnings de modo a que o aviso não seja apresentado para este método.
Ajuste rápido para adicionar a anotação SuppressWarning
Assistente Limpeza
Novidades em 3.2
O Assistente Limpeza permite fixar múltiplos problemas ao mesmo tempo e permite estabelecer um estilo de código.
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.
O assistente também oferece vantagens ao converter códigos compatíveis com a versão Java 1.4 para a versão Java 5.0.

Imagem de assistente
Limpeza

Seleccione um projecto, pacote ou ficheiro e utilize Origem > Limpar... para iniciar este assistente.

Refactorização

Criação de Scripts de Refactorizações
Novidades em 3.2
A maioria das refactorizações oferecidas pela JDT não só não podem ser executadas interactivamente, mas 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ções podem ser utilizados em diferentes cenários, tais como correcção automática ou alterações substanciais de APIxxx.
Migração segura de ficheiro JAR
Novidades em 3.2
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 todos os código dependentes 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 Pode localizar variáveis e ver o estado de leitura/escrita seleccionando um identificador (variável, método ou tipo de referência ou declaração) e invocando Pesquisar > Ocorrências no Ficheiro. 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çãoMarcar 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, naCadeia de pesquisa.
  • Seleccione a caixa de verificaçã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 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 da caixa de verificaçã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.
Contornos no local Prima Ctrl+F3 no editor Java para fazer surgir um contorno no local do elemento na posição actual do cursor. Ou prima Ctrl+O (Navegar > Contorno Rápido) para fazer surgir um contorno no local do ficheiro origem actual.

Contorno no local

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

Vista Contorno rápido

Hierarquia No Local Descubra quais são os possíveis receptores de uma chamada virtual, utilizando Hierarquia de Tipo Rápida. Coloque o cursor dentro da chamada de método e prima Ctrl+T (Navegar > Hierarquia de Tipo Rápida). 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.
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 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

Dicas na 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 seu nome.
  • Para localizar tipos rapidamente, tem apenas que introduzir as letras maiúsculas do nome do tipo: IOOBE permite localizar IndexOutOfBoundsException
  • 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.
Caixa de diálogo abrir tipo com correspondência de camel case
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 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.

Caixa de diálogo Configurar a localização de Javadoc no caminho de construção 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.

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

Vista Declaração

Vista Javadoc Dispõe de uma vista Javadoc ( Abre a
vista Javadoc Janela > Mostrar Vista > Outras... > Java > Javadoc) que mostra o Javadoc do elemento seleccionado no editor Java ou numa vista Java. A vista Javadoc utiliza o widget do SWT Browser para apresentar HTML em plataformas que o suportam.

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 definido em Object, Collection e List:

Ordenar membros pelo tipo que definem na hierarquia de tipo

Dicas 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 da origem Java Uma comparação estrutural da origem 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 da origem Java

Até pode ignorar comentários e formatar alterações quando executar a comparação estrutural: active a opção Ignorar Espaço em Branco através do botão da barra de ferramentas do Editor de Comparação ou o menu pendente da Vista Sincronizaçã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 > Hierarquica apresenta os pacotes em árvore, com os subpacotes 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 subpacotes 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 écran 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 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 Java
Novidades em 3.2
Configure a vista Problemas para agrupar os problemas Java em categorias através de Agrupar por > Tipo de Problema Java no menu da vista.

imagem da vista Problemas com problemas
agrupados

Pode controlar a possibilidade de um erro configurável se destinar a ser fatal ou não, através da página de preferências Abre a
página de preferências Construção Java > Compilador > Construção.
Indicador de tipo Java
Novidades em 3.2
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 sã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 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. Dessa forma, pode ter a vista definida como uma vista rápida e nunca a encarar como quando não existem testes com falhas. Enquanto não existirem problemas nos testes, vai ver este ícone Executar com êxito (a quantidade dos pequenos quadrados verdes vai crescer, indicando progresso) enquanto os executa e este íconeTerminado 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 a vista JUnit vai surgir.
Assistência de conteúdos em campos de diálogos A assistência de conteúdo (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
Novidades em 3.2
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 camel case 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 de conteúdo, ajuste rápido 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 Origem > Organizar Importações em conjuntos de unidades de compilação, pacotes, pastas de origem ou projectos Java.
Formatar mais do que um campo Seleccione todos os ficheiros Java para formatar e escolher Origem > Formato para formatar todos. A acção de formatação também está disponível em pacotes, pastas de origem ou projectos Java.
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

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 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 navegadorAbrir Projecto
  4. Activar manualmente uma construção limpa de todo o espaço de trabalho (Projecto > Limpar...)

Depurar

Iniciar a partir do Menu Contextual

Pode executar e depurar aplicações Java no menu contextual. Pode iniciar um ficheiro de origem, pacote, método, tipo, etc. escolhendo Executar Como (ou Depurar Como) > Aplicação Java no menu contextual 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

Vista Gestão 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

Pode utilizar Para no Principal na configuração de lançamento da Aplicação Java para levar a que o programa pare na primeira linha executável do método principal quando o executar no modo de depuração.

Separador
principal com a opção de 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 frequentemente der consigo a adicionar e a remover um ponto de interrupção no mesmo local, considere a desactivação do ponto de interrupção quando não necessitar dele e activá-lo quando voltar a necessitar dele. Isto 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 utilização da acção Ignorar Todos os pontos de interrupção na barra de ferramentas 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 do regulador

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. O utilizador também altera o valor ao introduzir um novo valor na área de janela Detalhes e utilizando a acção no menu contextual Atribuir Valor (CTRL+S associação de teclas).

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 o menu contextual da estrutura da pilha. O indicador de instruções actual será reposto para a primeira instrução executável no método. Vai funcionar 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 Actividade quando depurar com uma VM 1.4 ou superior 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.
Executar passos nas selecções

O depurador Java permite-lhe executar passos num único método numa série de chamadas de métodos encadeados ou imbricados. Basta destacar o método em que pretende executar o passo e seleccionar Executar passos na Selecção no menu contextual do editor Java.

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

Executar passos para a selecção

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 item de observação é uma expressão na vista Expressões, cujo valor é actualizado à medida que executa 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 as caixas de verificaçã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 passo Os filtros de passo impedem que o depurador suspenda em classes e pacotes especificados ao executar um passo para um código. Os filtro de percorrer são estabelecidos através da página de preferências Abre a
página de preferências Filtros de Percorrer Java > Depurar > Filtros de Percorrer. Quando a comutaçãoUtilizar Filtros de Passo estiver activada (na barra de ferramentas e no menu de depuração), os filtros de passo são aplicados a todas as acções de passos. Na vista Depurar, o pacote da estrutura da pilha seleccionado ou o tipo declarado podem ser rapidamente adicionados à lista de filtros seleccionando Tipo de Filtro ou Pacote de Filtro 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:

  • Execute o código seleccionado e coloque 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 item 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 iniciar 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