В настоящее время плагин будет генерировать серию файлов в IProject, мне нужно проверить, был ли сгенерированный файл ранее изменен пользователем. Если созданный артефакт был изменен пользователем, мне придется обрабатывать регенерацию по-разному.Как проверить сгенерированный файл был изменен в разработке плагина Eclipse?
Что я могу придумать, проверив дату создания == Измененная дата. Тот факт, что я удалю старый файл и создам его снова, когда пользователь не коснулся файла раньше, чтобы убедиться, что дата создания всегда равна Модифицированной дате. Однако я не видел, как получить эти 2 свойства от IFile. Кто-нибудь может помочь мне в этом?
Я довольно новичок в разработке плагинов Eclipse, может ли кто-нибудь предложить другой способ обойти это?
*** Создаваемые файлы не могут быть заблокированы, как те исходные коды
Привет @ Рюдигер, спасибо за предложение. Сборник сообщений не будет работать, потому что контент изменяется, поскольку при изменении пользователем происходит несколько изменений параметров. Поэтому, даже если содержимое файла не изменилось, сравнение завершится неудачно, потому что сгенерированный контент может отличаться. Однако, я не понимаю, как в этом случае поможет штамп изменений? Как узнать, были ли файлы изменены без сравнения с печатью создания? –
@SengZhe Пожалуйста, см. Мой исправленный ответ. –
Спасибо за предложение! Я не знал о методе setPersistentProperty для IResource. Действительно полезное знание. В моей следующей реализации будет использоваться решение хэш-содержимого. Пока, filestate решает мою проблему, но спасибо за советы! –