Eclipse: как программно обновить текущий проект - PullRequest
5 голосов
/ 07 марта 2012

Я создаю плагин Eclipse, в котором я собираюсь создать новый файл в моем проекте. Есть ли способ обновить текущий проект?

Я знаю, что могу получить ссылку на весь проект, позвонив

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

И итерируй среди них и используй

IResource.refreshLocal()

Однако этот подход не самый лучший, особенно если у пользователя много проектов.

В качестве альтернативы можно было бы изучить проект для проверки наличия нового файла, но я бы его избегал.

Ответы [ 2 ]

4 голосов
/ 07 марта 2012

Гораздо проще обновить на уровне проекта.

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

Да, это может быть неэффективно, но вы уверены, что весь проект обновлен.

2 голосов
/ 08 марта 2012

Не обязательно вызывать refreshLocal, если вы создаете файл с API рабочей области, см. org.eclipse.core.resources.IFile.create(InputStream, boolean, IProgressMonitor)

Как создать файл, смотрите фрагмент в плагине Eclipse:новый файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...