references duplicate java eclipse keyboard-shortcuts

java - duplicate - Eclipse optimiza las importaciones para incluir las importaciones estáticas



shortcuts eclipse (8)

De la asistencia de contenido para importaciones estáticas

Para obtener propuestas de asistencia de contenido para miembros estáticos, configure su lista de miembros estáticos favoritos en la página de preferencias Abre la página de preferencias de Favoritos Java > Editor > Content Assist > Favorites .
Por ejemplo, si ha agregado java.util.Arrays.* O org.junit.Assert.* 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.

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

¿Hay alguna forma de hacer que Eclipse busque automáticamente las importaciones estáticas? Por ejemplo, ahora que finalmente he actualizado a Junit 4, me gustaría poder escribir:

assertEquals(expectedValue, actualValue);

presiona Ctrl + Shift + O y haz que Eclipse agregue:

import static org.junit.Assert.assertEquals;

Tal vez estoy pidiendo demasiado.


Eclipse 3.4 tiene una sección de Favoritos en Ventana-> Preferencias-> Java-> Editor-> Asistencia de contenido

Si usa org.junit.Assert mucho, puede encontrar algún valor para agregarlo allí.


En Eclipse 4.9, puede importar invocaciones existentes mediante una solución rápida.

Se implementó una nueva solución rápida que permite al usuario convertir los accesos de campo estático y los métodos estáticos para utilizar una importación estática. También es posible reemplazar todas las ocurrencias al mismo tiempo.

Más detalles aquí


Estoy usando Eclipse Europa, que también tiene la sección de preferencias favoritas:

Ventana> Preferencias> Java> Editor> Asistencia de contenido> Favoritos

En la mía, tengo las siguientes entradas (al agregar, usar "Nuevo tipo" y omitir el .* ):

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

Todos, menos el tercero, son importaciones estáticas. Al assertT como favoritos, si assertT " assertT " y assertT Ctrl + Space , Eclipse ofrece assertThat como una sugerencia, y si la selecciono, agregará la importación estática adecuada al archivo.


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

Ventana-> Preferencias-> Java-> Editor-> Asistencia de contenido

y marque la casilla de verificación Usar importaciones estáticas (solo 1.5 o superior) .

Esto no traerá la importación en Optimize Imports, pero si realiza una Corrección rápida ( CTRL + 1 ) en la línea, le dará la opción de agregar la importación estática que es lo suficientemente buena.


Para las pruebas SpringFramework, recomendaría agregar lo siguiente también

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 agregue lo anterior como nuevo, escriba automáticamente. * Al paquete.


Seleccione la constante, escriba

Ctrl + 1 (quick fix)

Seleccione "Convertir a importación estática". Desde el desplegable.

"Solución rápida" tiene opciones aunque no sea un error.


Si resaltas el método Assert.assertEquals(val1, val2) y presionas Ctrl + Shift + M (Agregar importación), lo agregará como una importación estática, al menos en Eclipse 3.4.