2015-03-24 142 views
0

我有一个定义了自定义项目类型的eclipse插件。在项目中创建文件时,它还会创建一些额外的文件作为“隐藏资源”。当我创建一个新项目并在其中添加/删除文件时,一切正常。正如我所希望的那样,额外的文件不会显示在项目树中。eclipse插件导入自定义项目

现在的问题是:如果我从工作区中删除此项目,请保留内容并使用标准导入重新导入,所有隐藏的资源不再隐藏。似乎这些文件的“隐藏”属性已经消失,尽管我认为它们应该以某种方式存储在项目文件夹中。

因此,如果我需要实现自定义导入以将隐藏资源再次隐藏,那么任何人都可以给我一个提示吗?或缺少什么?无法找到与谷歌的答案。老实说,我甚至不知道这是否可行,因为如果我导入一个Maven项目,我可以看到.project和.classpath也显示出来,尽管它们在创建项目时是隐藏的。

+0

看起来隐藏标志作为'ResourceInfo'数据的一部分存储在工作区.metadata目录中,因此它不是项目的一部分。如果没有这些信息,你有没有办法确定哪些文件应该隐藏? – 2015-03-25 08:26:03

+0

谢谢格雷格,是的隐藏资源有自己的文件扩展名,所以我可以识别它们。 – boreas 2015-03-25 09:48:54

+0

正常的导入项目向导是'org.eclipse.ui.wizards.datatransfer.ExternalProjectImportWizard'然而它使用的大部分东西都在内部类中,所以很难改变。 – 2015-03-25 10:07:36

回答

0

如果其他人有相同的问题:这可以用IResourceChangeListener来完成。例如。

IResourceChangeListener listener = new MyResourceChangeReporter(); 
ResourcesPlugin.getWorkspace().addResourceChangeListener(listener,IResourceChangeEvent.POST_CHANGE);