2012-03-07 109 views
5

我正在構建一個eclipse插件,我將在其中創建一個新文件在我的項目中。 有沒有辦法刷新當前項目?Eclipse:如何以編程方式刷新當前項目

我知道,我可以通過調用

ResourcesPlugin.getWorkspace().getRoot().getProjects() 

以及它們之間的迭代,並使用

IResource.refreshLocal() 

但是這種方法是不是最好的一個必須的所有項目的引用,特別是如果用戶有很多項目。

另一種方法是探索檢查新文件是否存在的項目,但我會避免它。

+0

這不是neccessary如果調用'refreshLocal'你使用工作區API創建文件,參見'org.eclipse.core.resources.IFile.create(InputStream,boolean,IProgressMonitor)' – 2012-03-07 22:28:26

+0

@Tom Seidel我應該傳遞給那個方法FileInputStream is = new FileInputStream(new File( 「mypath中」))'? – Maverik 2012-03-07 23:43:35

+1

使用工作區中的資源時,不要使用'java.io.File'。如何創建一個文件,請參閱http://stackoverflow.com/questions/1624054/eclipse-plugin-create-a-new-file – 2012-03-08 07:59:24

回答

2

這不是neccessary打電話refreshLocal如果創建工作區API的文件,請參閱org.eclipse.core.resources.IFile.create(InputStream, boolean, IProgressMonitor)

如何創建一個文件,看到的片段在Eclipse plugin: create a new file

+0

感謝您的幫助! – Maverik 2012-03-08 13:42:39

4

在項目級更新容易很多。

IProject project = root.getProject(currentProjectName); 
project.refreshLocal(IResource.DEPTH_INFINITE, null); 

確實,這可能效率不高,但您確定整個項目都會刷新。

+0

感謝吉爾伯特,現在的問題是:我如何檢索當前項目的名稱?再次感謝! – Maverik 2012-03-07 23:38:52

+1

@lucaghera:您已經在您的問題中使用了代碼中的所有項目。 Eclipse不會知道哪個項目是最新的。這取決於你自己決定。 – 2012-03-08 13:18:52

相關問題