How to refresh resource from Eclipse Plugin?
Asked Answered
A

1

7

I have changed some resource. When I click on it in Eclipse I get info "Resource is out of sync". How can I refresh it? I tried org.eclipse.core.resources.IResource.touch(IProgressMonitor), but it does not help

Adviser answered 11/1, 2011 at 12:46 Comment(0)
G
7

If you have an IResource for the changed resource/project, you might want to call refreshLocal on it. However, if you did the modifications programmatically yourself (e.g. through java.io), you might want to change your code to do the modifications using the Eclipse IResource API, so that Eclipse can keep track of the modifications itself.

Update to elaborate on the Eclipse API:

Instead of e.g. creating a new FileOutputStream by specifying the file-path, your plugin should create the file (a resource) using the Eclipse API, e.g. by calling project.create("file") relative to the current project (you can easily for example obtain the currently selected file or project in the Eclipse project explorer).

Gothurd answered 11/1, 2011 at 12:53 Comment(1)
thx, a lot. it works great. What do you mean by IResource API? Do you mean to somehow get IDocument and change it like that? I used java.io, because it was faster to write.Adviser

© 2022 - 2024 — McMap. All rights reserved.