2008-11-14 26 views
371

¿Hay alguna forma de que Eclipse busque automáticamente las importaciones estáticas? Por ejemplo, ahora que por fin he actualizado a Junit 4, me gustaría ser capaz de escribir:Eclipse Optimizar importaciones para incluir importaciones estáticas

assertEquals(expectedValue, actualValue); 

golpeó Ctrl +Shift +O y tienen Eclipse añadir:

import static org.junit.Assert.assertEquals; 

Quizás estoy pidiendo demasiado.

Respuesta

537

Estoy usando Eclipse Europa, que también tiene la sección preferencia favorita:

Ventana> Preferencias> Java> Editor> Ayuda contenta> Favoritos

En el mío, Tengo el siguiente entradas (cuando se añade, utilizan "nuevo tipo" y omiten el .*):

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

Todos menos la tercera parte de las importaciones son estáticas. Al tener los favoritos como, si escribo "assertT" y pulsa Ctrl +espacio, Eclipse ofrece hasta assertThat como una sugerencia, y si la cojo, que se sumará a la importación estática adecuada para el archivo.

+0

Sí, increíble, pero, amigo, solo tienes los matchers para hamcrest. Eso no trae a AssertThat ..? – Rob

+0

[assertThat] (http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertThat%28T,%20org.hamcrest.Matcher%29) está en Assert – plasma147

+0

+1 también. Buena respuesta –

19

No es exactamente lo que quería, pero encontré una solución. En Eclipse 3.4 (Ganimedes), vaya a

Ventana-> Preferencias> Java> Editor-> Ayuda contenta

y marque la casilla de verificación de las importaciones Use estáticos (solamente 1.5 o superior).

esto no va a traer a la importación de un Las importaciones Optimizar, pero si lo hace una solución rápida (CTRL +) en la línea que le dará la opción de añadir la importación estática que es lo suficientemente bueno .

208

Si resalta el método Assert.assertEquals(val1, val2) y golpear Ctrl +Shift +M (Añadir importación), que se sumará como una importación estática, por lo menos en Eclipse 3.4.

+10

cmd-shift-M en mac –

+13

En Eclipse Juno solo he conseguido que funcione si destaco solo el método y luego uso el CTRL + MAYÚS + M. – ktulinho

+3

¡Este debería ser el ganador! –

30

Eclipse 3.4 tiene una sección Favoritos bajo Ventana-> Preferencias> Java> Editor-> Ayuda contenta

Si utiliza una gran cantidad org.junit.Assert, es posible encontrar algún valor para agregarlo allí.

+0

+1 para proporcionar la ruta a la pantalla de preferencias. – Grundlefleck

7

De Content assist for static imports

Para obtener ayuda de contenido propuestas de los miembros estáticos para configurar su lista de miembros estáticos preferidos en los favoritos Se abre la página de preferencias Java > Editor > Content Assist > Favorites página de preferencias.
Por ejemplo, si ha agregado java.util.Arrays.* o org.junit.Assert.* a esta lista, todos los métodos estáticos de este tipo que coincidan con el prefijo de finalización se agregarán a la lista de propuestas.

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

enter image description here

+1

Esto es realmente útil, debería haberlo averiguado hace años, gracias Sumit! – bobmarksie

3

para las pruebas Spring Framework, recomendaría añadir el siguiente, así

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 

Cuando se agrega más arriba como nuevo tipo se añada automáticamente. * A el paquete.

Cuestiones relacionadas