做eclipse插件开发的时候,经常要做首选项的页面,这个很简单,只要实现这个org.eclipse.ui.preferencePages扩展点就行了,以wst的html为例:
关于各个扩展点属性的意思我就不说了,eclipse的帮助文档很详细的。关键去实现preferencePages页面就行了,这个wst设置html文件颜色的界面,运行效果如下:
当点击ok或者是apply的时候,设置的一些值最终是要做持久化,以便下次运行时重新取得值,然而这些值怎么保存的?以及保存在那里?
经过两个小时的跟踪代码,画出了保存时类的一些调用关系
数据主要保存在.metadata/.plugins/org.eclipse.core.runtime/.settings/目录下,org.eclipse.wst.html.ui.prefs里。
数据加载大概是如下顺序:打开hml文件时,HTMLContentAssistProcessor里引用了IPreferenceStore类,最终由HTMLUIPlugin类的getTemplateStore()方法去读取数据。