O Eclipse Otimizar Importações para Incluir Importações Estáticas

Existe alguma maneira de obter o Eclipse para procurar automaticamente as importações estáticas? Por exemplo, agora que finalmente atualizei para o Junit 4, gostaria de poder escrever:

assertEquals(expectedValue, actualValue); 

pressione Ctrl + Shift + O e adicione o Eclipse:

 import static org.junit.Assert.assertEquals; 

Talvez eu esteja pedindo demais.

Estou usando o Eclipse Europa, que também tem a seção Preferências Favoritas:

Janela> Preferências> Java> Editor> Content Assist> Favorites

No meu, eu tenho as seguintes inputs (ao adicionar, use “New Type” e omitir o .* ):

 org.hamcrest.Matchers.* org.hamcrest.CoreMatchers.* org.junit.* org.junit.Assert.* org.junit.Assume.* org.junit.matchers.JUnitMatchers.* 

Todos, exceto o terceiro, são importações estáticas. Tendo esses como favoritos, se eu digitar ” assertT ” e pressionar Ctrl + Space , o Eclipse oferecerá assertThat como uma sugestão e, se eu selecioná-lo, ele adicionará a importação estática adequada ao arquivo.

Se você destacar o método Assert.assertEquals(val1, val2) e pressionar Ctrl + Shift + M (Adicionar Importação), ele será adicionado como uma importação estática, pelo menos no Eclipse 3.4.

O Eclipse 3.4 possui uma seção Favoritos em Window-> Preferences-> Java-> Editor-> Content Assist

Se você usa org.junit.Assert muito, você pode achar algum valor para adicioná-lo lá.

Não exatamente o que eu queria, mas encontrei uma solução alternativa. No Eclipse 3.4 (Ganymede), vá para

Janela-> Preferências-> Java-> Editor-> Content Assist

e marque a checkbox de seleção para Usar importações estáticas (somente 1.5 ou superior) .

Isso não trará a importação em um Optimize Imports, mas se você fizer um Quick Fix ( CTRL + 1 ) na linha, você terá a opção de adicionar a importação estática que é boa o suficiente.

Do assistente de conteúdo para importações estáticas

Para obter propostas de assistência de conteúdo para membros estáticos, configure sua lista de membros estáticos favoritos na página de preferências Abre os Favoritos Java > Editor > Content Assist > Favorites página de preferências Java > Editor > Content Assist > Favorites .
Por exemplo, se você adicionou java.util.Arrays.* Ou org.junit.Assert.* essa lista, todos os methods estáticos desse tipo que correspondem ao prefixo de conclusão serão adicionados à lista de propostas.

Abrir Window » Preferences » Java » Editor » Content Assist » Favorites

insira a descrição da imagem aqui

Para testes do SpringFramework, eu recomendaria adicionar os abaixo também

 org.springframework.test.web.servlet.request.MockMvcRequestBuilders org.springframework.test.web.servlet.request.MockMvcResponseBuilders org.springframework.test.web.servlet.result.MockMvcResultHandlers org.springframework.test.web.servlet.result.MockMvcResultMatchers org.springframework.test.web.servlet.setup.MockMvcBuilders org.mockito.Mockito 

Quando você adiciona acima como novo, ele adiciona automaticamente * ao pacote.

No Eclipse 4.9, você pode importar estática invocações existentes usando uma correção rápida.

Uma nova correção rápida foi implementada, permitindo que o usuário converta accesss de campo estático e methods estáticos para usar uma importação estática. Também é possível replace todas as ocorrências ao mesmo tempo.

Mais detalhes aqui