Похоже, что невозможно определить, был ли проект перемещен из одного места в другое, с помощью IResourceChangeListener
.Как обнаружить, когда проект был перемещен в новое место
Например, при изменении местоположения проекта от /old/path/to/project
к /new/path/to/project
с MoveProjectOperation
, детали событий выглядят следующим образом:
name = project-name
kind = CHANGE
flags = DESCRIPTION
movedFromPath = null
movedToPath = null
location = /new/path/to/project
Однако один и та же деталь события отправляется, когда описание проекта было изменено для некоторых другая причина.
JavaDoc из IResourceDelta::getFlags()
и forum post дать подсказку, что есть MOVED_FROM
флаг и getMovedFromPath()
вернется на путь, где ресурс был перенесен с. Но такого события я не видел.
Неужели нет способа сказать, перемещен ли проект или я что-то упускаю? Если есть обходной путь, я тоже буду рад возглавить.
Являются ли эти местоположения вне рабочей области, поэтому логическое расположение в рабочей области не изменяется? –
Да, местоположения могут находиться за пределами рабочей области, но я также вижу, что проект, расположенный внутри рабочей области, перемещается за пределы. –