2013-12-21 34 views

回答

3

IPreferenceStore用于存储首选项!通常情况下,你只会在这里存储将出现在首选项页面上的东西 - 尽管没有什么可以强制执行此操作。

更多通用存储设备使用Platform.getStateLocation(bundle)获得工作区.metadata您的插件可以存储它希望的任何信息的位置:

Bundle bundle = Platform.getBundle("your-plugin-id"); 

IPath stateLocPath = Platform.getStateLocation(bundle); 

stateLocPath将是一个目录(通常workspace-path/.metadata/.plugins/your-plugin-id)。由您的插件管理存储在此目录中的文件。

如果您不需要跨会话持久保存对象,那么您可以在插件Activator中使用常规Java结构(如列表或地图)作为字段。

+0

感谢您的回答我的问题。为了清楚理解,你能详细说明一下吗? – ssdimmanuel

+0

这样做我假设我需要使用文件来存储和检索数据。但与IPath相关的API是否支持存储和检索键值对?快速搜索将“LinkedHashMap”作为轻量级内存中缓存返回。但是,这可以通过Perspevtive开关访问吗? – ssdimmanuel

相关问题