0

我正在为 Eclipse 编写多选项卡编辑器。这个插件有几个选项卡,最后一个是文本源——类似于 PDE 中的 plugin.xml 编辑器。

它背后有一些模型,用于在选项卡中显示一些信息,这些信息基于文本源中的数据。用户可以编辑源,当他/她切换到另一个选项卡时,模型会更新。这很好用。

问题是当有人在外部编辑器中编辑源文件时。然后刷新项目,模型也应该刷新。但我怎样才能做到这一点?

我尝试使用addResourceChangeListener,它通过预刷新事件通知我,但它不包含我的文件是否要更新的信息(例如,如果有人试图刷新整个项目,则只有项目资源)。

我的另一个想法是在预刷新事件发生时添加文档侦听器,并在更改后处理程序中将其删除。但是这里的问题是,如果文件未更改且未更新,则不会发送更改后事件,因此我将保留不必要的文档侦听器,该侦听器将被告知用户在最后一个(源)选项卡中所做的所有编辑.

我将不胜感激。

4

1 回答 1

1

刷新,当它发现更改的文件时,将报告它们已更改。您可能想要收听 POST_CHANGE 通知,如http://www.eclipse.org/articles/Article-Resource-deltas/resource-deltas.html所示。

于 2012-05-31T05:16:14.803 回答