26

Uso varios espacios de trabajo con Eclipse. Recientemente me di cuenta de que algunos de mis espacios de trabajo tienen una gran cantidad de componentes de paquetes de software que instalé y luego eliminé. Por lo que puedo decir, la situación es que muchos paquetes escriben cosas (a veces muchas cosas) en la carpeta .metadata para cada espacio de trabajo que abro mientras el paquete estaba instalado. Cuando eliminé un paquete, parece que eliminó la carpeta .metadata para el espacio de trabajo que tengo abierto en ese momento, pero a todos los demás espacios de trabajo les quedan metadatos huérfanos. A veces, estos metadatos causan problemas — a menudo, errores al abrir el espacio de trabajo y, a veces la inestabilidad.Limpiar metadatos del área de trabajo de Eclipse

La única forma que conozco de manejar esto es crear un nuevo espacio de trabajo, importar proyectos del área de trabajo contaminada, reconstruir todas mis configuraciones (una gran molestia) y luego eliminar el área de trabajo anterior. ¿Hay alguna manera más fácil de lidiar con esto?

+0

Me gusta cómo nadie realmente respondió la pregunta. – Andrew

+1

@Andrew - Sí. Creo que la amplia gama de sugerencias señala exactamente el problema: no hay una buena manera de lidiar con esta situación. (Espero que nadie crea que buscar archivos mágicos para copiarlos a mano o borrarlos sea algo bueno). Hay algo extraño en cómo se diseñan los espacios de trabajo de Eclipse. –

+0

Bueno, por lo que he visto, la respuesta real es la siguiente: o bien (A) suck up, (B) borra el directorio .metadata en el espacio de trabajo y vuelve a importar los proyectos y configura todo de nuevo, o (C.) Destruye y vuelve a instalar Eclipse. – Andrew

Respuesta

22

No hay una manera fácil de eliminar las cosas "desactualizadas" de un espacio de trabajo existente. Usar el parámetro "limpiar" no será de gran ayuda, ya que muchos de los archivos a los que se refiere son "datos de formularios libres", solo conocidos por los complementos que ya no están disponibles.

Su mejor apuesta es optimizar la reimportación, donde me gustaría señalar lo siguiente:

  • Al crear un nuevo espacio de trabajo, ya se puede optar por tener algunos ajustes que se está copiando desde el actual al nuevo espacio de trabajo.
  • Puede exportar las preferencias del área de trabajo actual (utilizando el Exportar menú) y volver a importarlas en el nuevo espacio de trabajo.
  • Hay muchas recomendaciones en Internet para simplemente copiar la carpeta ${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings del espacio de trabajo anterior al nuevo. Esta es seguramente la manera más rápida, pero puede llevar a un comportamiento extraño, porque algunos de sus complementos pueden depender de estas configuraciones y en algunos de los "datos de forma libre" mencionados en otro lugar. (Incluso hay personas que enlazan estas carpetas en varias áreas de trabajo, pero esto realmente requiere utilizar los mismos complementos en todos los espacios de trabajo).
  • Quizás desee considerar el uso de más configuraciones específicas de proyecto que las preferencias de área de trabajo en el futuro. Entonces, por ejemplo, todas las configuraciones del compilador de Java pueden establecerse en el nivel del espacio de trabajo o en el nivel del proyecto. Si se establece en el nivel del proyecto, puede ponerlos bajo control de versión y son independientes del espacio de trabajo.
+0

Tengo miedo de que las preferencias de exportación exporte precisamente '$ {old_workspace} /. Metadata/.plugins/org.eclipse.core.runtime/.settings': http://stackoverflow.com/questions/13334150/eclipse-workspaces- sync-settings-what-to-sync –

+0

@Mr_and_Mrs_D Por supuesto que sí. Pero está restringido a un subconjunto muy pequeño de las preferencias disponibles, y por eso, a un pequeño subconjunto de la carpeta de configuración de metadatos. – Bananeweizen

+0

Me refería a su "Hay muchas recomendaciones en Internet para que __ simplemente copie el $ {old_workspace}/..." También de acuerdo con mis experimentos, exporta a ciegas todo el 'org.eclipse.core.runtime/.settings' carpeta - no es un subconjunto (consulta mi pregunta sobre errores relacionados con la pareja). ¿Cuál sería la otra configuración que uno necesita ("datos de forma libre") fue mi pregunta precisamente –

10

Una de las cosas que tal vez quiera probar es comenzar eclipse con la opción -clean. Si ha elegido tener eclipse, use el mismo espacio de trabajo todas las veces, entonces no hay nada más que deba hacer después de eso. Con esa opción en su lugar, el área de trabajo debe ser limpiada.

Sin embargo, si no tiene un espacio de trabajo predeterminado elegido, al abrir Eclipse se le pedirá que elija el espacio de trabajo. En este punto, elija el espacio de trabajo que desea limpiar.

Ver "How to run eclipse in clean mode" y "Keeping Eclipse running clean" para más detalles.

+0

En realidad, el modo de limpieza borra cosas de OSGi solamente y NO afecta el espacio de trabajo. El segundo enlace es bastante engañoso en ese sentido. – exic

2

En mi caso Eclipse no está mostrando función de la clase de los padres en $ esto, así que rinden por debajo de los puntos de mención y se inicia trabajos: -

voy a mi/var/www/carpeta y comprobar si hay. carpeta de metadatos (Aquí verifica el archivo .log y se muestra) El recurso no está sincronizado con el sistema de archivos: 1.Vaya a Eclipse -> Proyecto -> Limpiar 2. Windows - preferencias -> General -> Espacio de trabajo -> Y configúrelo como "Actualizar automáticamente"

Después de ese boom - las cosas comienzan a funcionar:)

Si desea cargar también variables de otros archivos, haga esto: - Eclipse -> Windows -> Preferencias -> Php -> Editor -> Content Assist -> y check "show variable de otros archivos "

A continuación, se mostrarán elementos, variables y otras funciones también.

0

En algunos casos, pude evitar que Eclipse se bloquee durante el inicio al eliminar un archivo .snap en los metadatos del espacio de trabajo (.metadata/.plugins/org.eclipse.core.resources/.snap).

Ver también https://bugs.eclipse.org/bugs/show_bug.cgi?id=149121 (el error se ha cerrado, pero me ha pasado recientemente)

0

La única manera que conozco para lidiar con esto es crear un nuevo espacio de trabajo, proyectos de importación desde el espacio de trabajo contaminada , reconstruir todas mis configuraciones de (una gran molestia) y luego eliminar el área de trabajo anterior. ¿Hay alguna forma más fácil de lidiar con esto?

Para sincronizar o restaurar todas nuestras configuraciones, utilizamos Workspace Mechanic. Una vez que todas las configuraciones se graban, se hace clic y se restauran todas las configuraciones ... También puede configurar un servidor que proporcione esas configuraciones para todos los usuarios.

Cuestiones relacionadas