如何在e4中保留编辑器输入

时间:2014-12-12 17:37:47

标签: eclipse editor eclipse-rcp e4

在eclipse 3中有EditorInput管理编辑器的持久性及其输入,但如何使用eclipse e4来管理它,其中编辑器和视图几乎相同... 是否有任何推荐的方法,或者我必须实现某种编辑器输入注册表,我将所有编辑器输入对象映射到某种唯一键,然后在重新启动应用程序后,我通过此注册表检索编辑器输入对象键? 我已经看到我只能将字符串放入MPart的持久状态......

1 个答案:

答案 0 :(得分:2)

任何getPersistedState()的{​​{1}}方法(包括MApplicationElement)都会返回MPart,您可以在其中存储要保留的任何字符串数据。

如果要保存对象,则必须在工作区.metadata中使用插件的状态位置。通过以下方式获取该位置:

Map

路径通常为IPath stateLoc = Platform.getStateLocation(bundle); 。你可以在这个区域放置任何你喜欢的东西,但由你来管理它。

您可以使用.metadata/.plugins/<your plugin id>注释在需要保留部件时运行方法:

@Persist

持久化状态数据保存在工作空间.metadata中,只有在启动RCP时指定@Persist void persist() { ... save data } 选项时才会清除。