Eclipse RCP — обновить PackageExplorerPart программно

Я пишу плагин eclipse, который вносит свой вклад в стандартную рабочую среду, и одно действие создает новый файл в рамках текущего проекта. Моя проблема в том, что проводник не обновляется, когда файл создается в действии. Что я пробовал до сих пор:

((PackageExplorerPart)part).refresh(treeSelection); //where the selection is the root project
((PackageExplorerPart)part).getTreeViewer().refresh;

Оба вызываются сразу после создания ресурса. Что мне не хватает? Может ресурс еще не слит с моделью эксплорера? Ручное обновление показывает файл...


person zeller    schedule 29.03.2012    source источник


Ответы (1)


Это зависит от того, как вы создаете новый файл. Если он создается непосредственно в файловой системе, то есть без использования Eclipse IResource API, вам следует обновить соответствующий IResource. Например, как описано в разделе refreshLocal(). Этого должно быть достаточно.

person Urbi    schedule 29.03.2012
comment
Спасибо, это помогло, хотя мне пришлось сначала найти файл с ResourcesPlugin.getWorkspace().getRoot().getFile(...), потому что метод, который создал, не вернул его. - person zeller; 30.03.2012