2009-05-18 33 views
6

Si presiona Mayús + Ctrl + T o selecciona "Navegar> Tipo abierto ..." obtendrá el cuadro de diálogo "Tipo abierto" para navegar rápidamente a una clase conocida. Cuando comienzas a escribir un nombre, solo las clases para las que el nombre coincide permanecen visibles. De esta forma, puedes encontrar una clase de la que conozcas el nombre muy rápido sin tener que navegar por el árbol del explorador de paquetes.Eclipse: actualización de tipos conocidos en el proyecto Java

Esto ha estado funcionando genial para mí hasta esta mañana. De repente, para algunos de mis proyectos, solo estoy viendo algunos de los tipos que existen. Por supuesto, probé los pasos obvios de actualizar los proyectos, limpiar los proyectos, reconstruir los proyectos, reconstruir los proyectos externamente, pero todo fue en vano. Es un poco extraño ya que los tipos son conocidos en otros lugares. Si agrego una declaración de importación, Eclipse no se queja de que no sabe el tipo y puedo presionar Ctrl-clic en los tipos para acceder a su archivo. Sin embargo, el tipo de navegación no sabe nada sobre ellos.

En el pasado, cuando InteliJ solía hacerme esto, buscaba sus archivos de caché y los eliminaba forzándolos a reconstruir. ¿Tiene Eclipse algo similar que podría hacer (soy un novato de Eclipse)? Estoy usando Eclipse 3.4.2 y lo tengo configurado para no borrar archivos en un archivo limpio (porque nuestro proceso de compilación real coloca archivos en los directorios de salida que no quiero que Eclipse elimine).

Respuesta

16

¿Ha intentado cerrar y volver a abrir el proyecto? Solo los tipos de proyectos abiertos se guardan en la memoria y la actualización ocurre cuando se presionan Mayús + Ctrl + T por primera vez en un proyecto recién abierto.

Editar para agregar: Ctrl + Shift + R también muestra los tipos (junto con todo lo demás) pero también admite el caso de Camel-case para encontrar rápidamente los tipos de Java.

+0

Esto parece haber hecho el truco. Sin embargo, una cosa extraña fue que paré y reinicié Eclipse durante este proceso: ¿hay algo diferente acerca de cerrar un proyecto? Otra nota: al menos en 3.4.2 Ctrl-Shift-T también admite la notación de caso de camello (y te limita a tipos que pueden ser agradables). – sfitts

+0

Eclispe tiene algunos defectos desagradables, bueno la mayoría de ellos son fáciles de reparar cuando sabes qué hacer, ¡gracias! ¡Oh, "Open Resource" ctrl + shift + R es realmente muy bueno, ya que parece restringido a los recursos del proyecto actual, lista de opciones más pequeña! –

3

intente iniciar eclipse con la bandera -clean, puede agregar esto a su eclipse.ini que se puede encontrar en el mismo directorio que eclispe.exe, o si inicia eclipse usando un script bat o shell, agréguelo como un argumento de inicio, por ejemplo eclipse -limpio

La limpieza ordena su espacio de trabajo, y debe forzar eclipse JDT para recalcular tipos. He tenido problemas con los archivos .snap (parece que se crearon en cierres sucios) que parecen corromper mi espacio de trabajo hasta que los limpio, no hace mucho tiempo eclipse perdió la clase Object. hecho para algunos errores interesantes!

+0

Gracias por la información. Voy a agregar esto también para estar seguro. – sfitts

-1

(Advertencia: la comercialización Shameless adelante)

Si te gusta esta función, a usted le gusta nWire. nWire permite, entre otras cosas, buscar rápidamente no solo los tipos, sino también cualquier posible elemento o método similar a Java. También utiliza una vista de navegador que no es modal. Después de buscar, puede ver las asociaciones de clase de una manera muy rápida y fácil. Consulte the video on our site.

1

Tengo problemas como este a menudo. Intenté su solución, noté que parecía reconstruir su índice de búsqueda, pero aún no pude encontrar ninguna de mis clases. Luego eché un vistazo a la pequeña flecha verde en la esquina superior derecha de ese diálogo, y noté que tenía un conjunto de trabajo seleccionado que pertenecía a otro proyecto. Me parece un poco tonto que Eclipse no te advierta sobre esto o lo que sea, ya que este puede ser un pequeño detalle muy molesto que uno tiende a olvidar (al menos ;-)).

De todos modos, presioné "Deseleccionar conjunto de trabajo" y puedo volver a encontrar mis clases. Pensé que agregaría esto aquí ya que otros pueden cometer el mismo error.

+0

"Deseleccionar conjunto de trabajo" es la respuesta más segura, simple y fácil. Me tomó tanto tiempo verlo que pareces no estar más:/¡pero de todos modos! –

+0

No solo el conjunto de trabajo puede causar esto. No pude abrir ninguna clase de los paquetes java. * Y javax. *, Hasta que miré en el menú "Filtros tipo". La importación de .TWW no funcionó. Ether.Eclipse siguió mostrando error, clase no encontrada. Eso no fue divertido. – andronix

6

Cierre eclipse y elimine cualquier archivo .index y el archivo savedIndexNames.txt en workspace/.metadata/.plugins/org.eclipse.jdt.núcleo una vez que el eclipse se reinicia se rebuildl todo el índice de Ctrl + T

0

Esto funcionó para mí -

  1. Seleccione su proyecto en Package Explorer
  2. Prensa F5 o clic derecho y seleccione Refresh
0

Utilicé el "-clean" como primera línea en el eclipse.ini (versión Juno) y funcionó a las mil maravillas.

0

He intentado todas las respuestas y todavía tengo el problema. Luego intenté esto:
Eliminé el proyecto (es un proyecto maven) y lo reimporté. Esta vez me aseguré de marcar la casilla "Agregar proyecto (s) al conjunto de trabajo". Después de eso, Eclipse pudo encontrar las clases en ese proyecto.

El problema debe haberse iniciado porque no marqué esta casilla cuando importé este proyecto por primera vez.
Por cierto, estoy usando Neon

Cuestiones relacionadas