我正在使用IElementChangedListener
来监听我正在制作的eclipse插件中的Java模型的变化。
有什么办法可以使用这个Listener来获取更改过的java文件的路径,还是应该尝试不同的Listener?
任何建议或链接都表示赞赏。 谢谢
答案 0 :(得分:1)
IJavaElementDelta
事件中提供的ElementChangedEvent
使用getElement()
方法返回IJavaElement
。
IJavaElement
有一个getPath()
方法,它'返回包含此元素的最内层资源的路径'。
您可能需要查看增量中已添加/受影响/已更改的子项以获取所有更改。
答案 1 :(得分:0)
尝试以下方法:
elementChangedListener.elementChanged(ElementChangedEvent event) {
IJavaElementDelta delta = ElementChangedEvent.getDelta();
int kind = delta.getKind();
int flags = delta.getFlags();
// flags -> F_ARCHIVE_CONTENT_CHANGED, F_ADDED_TO_CLASSPATH, F_CLASSPATH_REORDER, F_REMOVED_FROM_CLASSPATH
if ((delta.getFlags() & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0) {
// The contents of an archive has changed in some way
}
}
的文档