2012-03-22 17 views
39

uso el acceso directo del teclado Eclipse Ctrl + Shift + O todo el tiempo (Organizar importaciones).¿Se puede modificar el comando Organizar Importar (ctrl + shift + o) de Eclipse Organizar?

Sin embargo, tiene un comportamiento particularmente molesto:

Si tengo alguna importaciones estáticas como:

import static java.lang.Math.*; 

Organizar importaciones "amablemente" reemplazarlo con importaciones estáticas de sólo los campos y métodos I estoy realmente usando. Por ejemplo:

import static java.lang.Math.PI; 
import static java.lang.Math.cos; 

¿Hay alguna forma de eliminar este comportamiento de Organize Imports?

+0

Soy consciente de que el uso de la importación estática * contaminará el espacio de nombres de mi clase con potencialmente muchos enlaces no utilizados y las importaciones estáticas pueden hacer que el código sea menos legible. Sin embargo, me gustaría descubrir cómo hacer esto en Eclipse. – ulmangt

+1

Normalmente solo escribo p. Ej. "Math.PI" y luego Ctrl-Alt-M, que crea la importación estática. Solo tiene que hacer esto una vez pr static import. –

+0

¿Por qué es esto importante? Supongo que estás preguntando sobre "campos y métodos que estoy usando * en este momento *", y que quieres poder usar 'sin' sin tipear' Matemáticas', Ctrl + Mayús + O, Ctrl + S, '.sin', Ctrl + Espacio, izquierda, izquierda, Ctrl + Alt + M – Stephen

Respuesta

51

Claro: Ventana -> Preferencias -> Java -> Estilo de código -> Organizar importaciones

Ajustar el valor para "Number of static imports needed for .*" a 1, y se utilizará siempre. *. Por supuesto, eso no es bastante lo mismo que decir, "Solo deje las importaciones estáticas solo", pero con suerte es lo que quiere.

Básicamente, este número dice "Use todos los métodos o campos de esta importación si estoy importando muchos elementos". Si el número es 2, agregará el asterisco solo si usa dos o más importaciones. Eso solucionará el problema que dijiste en la respuesta.

+0

Gracias! Tienes razón, no es lo mismo, ya que ahora convertirá cualquier importación estática explícita que yo tenga en. * Importaciones. Dicho eso, creo que funcionará para mis propósitos. – ulmangt

+2

desagradable. Realmente no quiero que las importaciones estáticas al azar cambien a * en mi código, solo quiero que mis PRUEBAS utilicen Assert. * Y Mockito. * – mjaggard

Cuestiones relacionadas