避免在没有未保存的更改时关闭编辑器 Eclipse RCP


即使

没有未保存的更改,也有办法阻止编辑器关闭吗?

每当有一些未保存的更改时,使用 ISaveablePart 界面可以在编辑器关闭之前捕获事件 - 但我正在寻找一种在编辑器关闭之前捕获事件的方法,即使没有未保存的更改。

一种

可能的方法是在ISaveablePart实现中维护两个"脏"标志 - 一个是为了让 Eclipse 保存框架认为你的编辑器很脏,并调用你的钩子来阻止编辑器关闭。

为了避免 Eclipse 错误地显示有关编辑器具有未保存更改的消息,您可能需要实际实现ISaveablePart2(此处为文档)并实现promptToSaveOnClose() - 这可以检查编辑器是否真的脏,并且在这种情况下仅提示保存(或其他任何您想要的内容)。

您可能想重新检查您希望保持编辑器打开的根本原因 - 框架通常不会像这样工作(因此问题可能会蔓延),对于真正想要关闭编辑器的用户来说,这似乎是一种令人困惑的体验(并决定您的应用程序有问题)。

最新更新