Eclipse Intellisense?

89

¿Cómo le digo a Eclipse que haga sugerencias automáticamente mientras escribo? Estoy buscando una función similar a Visual Studio Intellisense con Resharper.

Actualmente tengo que presionar CTRL+ Spacecada vez.

Ian Vink
fuente

Respuestas:

78

No tiene que presionar CTRL* spacepero tal vez la demora sea demasiado grande o no le guste el disparador (el valor predeterminado es '.'). Ir

Ventana -> Preferencias -> Java / Editor / Asistente de contenido

Y cambie la configuración en Activación automática a su gusto.

Si esto no funciona para los usuarios de Windows, consulte esta respuesta .

Narciso
fuente
1
el usuario Kevin Rossi intentó editar para señalar esto (que realmente es un comentario): "Esto no funciona con la distribución Eclipse Juno C / C ++"
Denys Séguret
Cada editor de Eclipse puede tener sus propios activadores de activación automática; activar en los mismos caracteres no tendría sentido en ningún idioma.
Nitind
En Mac lo esADT -> Preferences -> Java/Editor/Content Assist
Adil Malik
170

Me acerqué al comportamiento similar a VisualStudio al configurar el "Activador de autocompletar para Java" en

.(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

y establecer el retraso en 0.

Ahora me gustaría darme cuenta de cómo hacer que el nombre del método se autocomplete cuando presiono (como lo hace Intellisense de VS.

Tony
fuente
1
¿Qué versión de eclipse es esta? El cuadro de texto "Activación automática de disparadores para Java" me permite ingresar solo 4 caracteres.
Zesty
3
Esto funciona muy bien. Mucho mejor, ya que ahora mostrará las variables locales y todo. ¡Gracias! @ HappyCoder4U Puede que esto no ayude, pero estoy usando eclipse 3.7M5.
Howler
2
eres un genio :) Sin embargo, no hay tal configuración para idiomas que no sean java :(
Ivan G.
1
Increíble. ¡Gracias! Usando Eclipse en Mac (3.6.1), el nombre del parámetro es '
Activadores de
4
Todo funcionó, pero ahora tengo un comportamiento muy irritante: supongamos que quiero escribir "private int counter;" Empiezo con privado y el autocompletado comienza con algunas sugerencias (el primero es PrivateCredentialPermission). Cuando termine de escribir privado y presionar "espacio", se inserta PrivateCredentialPermission. ¿Alguna forma de evitar esto?
VM4
41

Tony es un genio puro. Sin embargo, para lograr una finalización automática aún mejor, intente configurar los activadores en esto:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =.(!+-*/~,[{@#$%^&

(específicamente en orden de uso para un rendimiento más rápido :)

d3dave
fuente
2
Este método introduce algunos errores. Por ejemplo, si escribo =, sugeriría algo inmediatamente. Si presiono la barra espaciadora, = automáticamente insertaría la primera coincidencia.
theGreenCabbage
Verificar la propuesta de Java, la propuesta de Java Type y la propuesta de Java non-type y moverlas hacia arriba en orden, funcionó para mí.
Shailendra Singh Rajawat
Consulte esta pregunta de desbordamiento de pila para obtener algunas soluciones al problema de espacio: stackoverflow.com/questions/14297735/…
William Dutton
Todos los caracteres especiales harán que el Intellisense actúe como un loco, excepto por el punto. Básicamente, si alguna vez no lo querrá para Intellisense después de escribir un carácter, no lo querrá en esta lista.
Andrew
6

Si no funciona incluso cuando ya tiene habilitado Code Assist, es probable que los archivos de configuración de Eclipse estén corruptos. Una solución que funcionó para mí (en Eclipse 3.5.2) fue:

  1. Cierre Eclipse.
  2. Cambie el nombre del directorio del espacio de trabajo.
  3. Inicie Eclipse. (Esto crea un nuevo directorio de espacio de trabajo).
  4. Importe (con copia) los proyectos Java del espacio de trabajo anterior.
Rok Strniša
fuente
Me lo arregló también
Kenci
Buena solución, fue realmente útil para mí, mi Eclipse no pudo mostrar intellisense después de (.), Tuve que usar ctrl + espacio 3 veces para mostrarlo, gracias por la buena solución :-)
Muhammad
3

Una vez tuve el mismo problema, y ​​luego busqué y encontré esto y funcionó para mí:

Tenía algunas de las casillas sin marcar, así que las volví a marcar y funcionó. Solo ve a

Windows> Preferencias> Java> Editor> Asistente de contenido> Avanzado

y marque las casillas que desee.

usuario3074382
fuente
3

La respuesta de d3dave es genial. Sin embargo, theGreenGarbage mencionó un problema al respecto que yo también encuentro bastante molesto. Entonces, aquí hay uno que no sugiere algo inmediatamente después del signo '=' y al escribir un espacio en blanco:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.(!+-*/~,[{@#$%^&

Lo que hice fue simplemente eliminar el espacio y los caracteres '=' de la matriz :)

Alternativamente, si desea sugerencias al escribir un espacio en blanco, pero no después del signo '=':

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .(!+-*/~,[{@#$%^&
MuhsinFatih
fuente
Esta debería ser la respuesta aceptada. Sin embargo, conduce a un poco de retraso.
Neil Chowdhury