以编程方式检索任意Eclipse首选项

时间:2015-06-04 12:49:25

标签: eclipse eclipse-plugin jface

我正在写a plugin for Pig files。我想检索Eclipse“文件关联”首选项 - General下的那个 - >编辑 - >文件关联 - >文件类型/相关编辑。

一旦我有了这个偏好,我的插件可以知道正在使用哪些文件类型,并在迭代工作区文件时进行相应的操作(在搜索等中)。

我无法在任何地方找到首选项的“目录”,也无法找到我可以迭代的API,直到找到它为止。搜索我的工作区的文件系统似乎也不起作用 - 可能是以二进制格式保存首选项。

1)从PreferenceStore中检索此首选项的关键是什么?

2)一般来说,找到给定偏好的关键是什么?

3 个答案:

答案 0 :(得分:1)

我会尝试给你一些提示,有人可能会有更好的解决方案:

1:id org.eclipse.ui.preferencePages.ContentTypes

2:在eclipse上的欲望页面/小部件上使用插件间谍Press Alt-Shift-F1,它将显示上下文信息

答案 1 :(得分:1)

使用

IFileEditorMapping[] mapping = PlatformUI.getWorkbench().getEditorRegistry().getFileEditorMappings();

获取文件类型与其支持的编辑器之间的映射。查看at this javadoc以查看有关映射的所有信息

答案 2 :(得分:1)

没有可以为您提供所有首选项的整体API。

许多首选项存储在'plugin-id.prefs'文件(Java属性文件格式)的工作区.metadata/.plugins/org.eclipse.core.runtime/.settings目录中。您可以使用

访问这些内容
IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode("plugin id");

String value = prefs.get("preference id", defaultValue);

因此,您需要知道拥有首选项的插件的ID以及首选项本身的ID。此信息可能很难找到,可能涉及阅读首选项页面的来源。

其他首选项存储在Eclipse configuration目录中。还有一些格式只有特定插件才知道(但通常会有一些API来访问这些信息)。