清理Eclipse工作区元数据

时间:2012-08-01 21:51:50

标签: eclipse metadata configuration-files workspace eclipse-metadata

我在Eclipse中使用多个工作区。我最近注意到我的一些工作区中有很多来自我安装的软件包,后来被删除了。据我所知,情况是许多软件包在安装软件包时打开的每个工作区的.metadata文件夹中写入了东西(有时很多东西)。当我删除一个包时,它似乎清除了我当时碰巧打开的工作空间的.metadata文件夹,但所有其他工作空间都留有孤立的元数据。有时,这种元数据会导致问题 - 通常是打开工作区时的错误,有时会出现不稳定。

我知道解决这个问题的唯一方法是创建一个新的工作区,从污染的工作区导入项目,重建我的所有设置(一个主要的痛苦),然后删除旧的工作区。有没有更简单的方法来解决这个问题?

5 个答案:

答案 0 :(得分:24)

没有简单的方法可以从现有工作区中删除“过时”的内容。使用“clean”参数并不会有所帮助,因为您引用的许多文件都是“自由格式数据”,只有不再可用的插件才知道。

您最好的选择是优化重新导入,我想指出以下内容:

  • 创建新工作区时,您已经可以选择将某些设置从当前工作区复制到新工作区。
  • 您可以导出当前工作区的首选项(使用导出菜单),然后在新工作区中重新导入它们。
  • 互联网上有很多建议只是将${old_workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings文件夹从旧工作区复制到新工作区。这肯定是最快的方式,但它可能会导致奇怪的行为,因为你的一些插件可能依赖于这些设置对存储在别处的一些提到的“自由格式数据”。 (甚至有人将这些文件夹符号链接到多个工作区,但这确实需要在所有工作区上使用相同的插件。)
  • 您可能希望将来考虑使用比工作区首选项更多的项目特定设置。因此,例如,可以在工作区级别或项目级别设置所有Java编译器设置。如果在项目级别设置,则可以将它们置于版本控制之下并独立于工作区。

答案 1 :(得分:11)

您可能想要尝试的一件事是使用-clean选项启动eclipse。如果你选择让eclipse每次都使用相同的工作空间,那么在此之后你就不需要做任何事了。有了该选项,就应该清理工作区。

但是,如果您没有选择默认工作区,则在打开eclipse时将提示您选择工作区。此时,选择要清理的工作区。

有关详细信息,请参阅 "How to run eclipse in clean mode" "Keeping Eclipse running clean"

答案 2 :(得分:3)

在我的情况下,eclipse没有在$ this上显示父类函数,所以我执行下面提到的点并开始工作: -

我转到我的/ var / www /文件夹并检查.metadata文件夹(这里检查.log文件并显示)资源与文件系统不同步: 1.转到Eclipse - >项目 - >清洁 2. Windows - 首选项 - >一般 - >工作区 - >并将其设置为"自动刷新"

在那次繁荣之后 - 事情开始起作用了:)

如果你想从其他文件中加载变量,那么就这样: Eclipse - > Windows - >偏好设置 - > Php - >编辑器 - >内容辅助 - >并检查"显示其他文件中的变量"

然后它还会显示元素,变量和其他函数。

答案 3 :(得分:1)

  

我知道解决这个问题的唯一方法是创建一个新工作区,   从污染的工作区导入项目,重建我的所有   设置(一个主要的痛苦)然后删除旧工作区。有没有   更简单的方法来解决这个问题?

要同步或恢复我们的所有设置,请使用Workspace Mechanic。记录完所有设置后,只需单击一次,所有设置都将恢复... 您还可以设置一个服务器,为所有用户提供这些设置。

答案 4 :(得分:0)

在某些情况下,我可以通过删除工作区元数据中的.snap文件(.metadata / .plugins / org.eclipse.core.resources / .snap)来阻止Eclipse在启动期间崩溃。

另见https://bugs.eclipse.org/bugs/show_bug.cgi?id=149121 (这个bug已经关闭,但最近发生在我身上)