【问题标题】:Retrieving arbitrary Eclipse preferences programmatically以编程方式检索任意 Eclipse 首选项
【发布时间】:2015-08-19 02:12:54
【问题描述】:

我正在写a plugin for Pig files。我想检索 Eclipse“文件关联”首选项 - General -> Editors -> File Associations -> File Types / Associated Editors 下的一个。

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

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

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

2) 一般而言,找到给定偏好的密钥的最佳方法是什么?

【问题讨论】:

    标签: eclipse eclipse-plugin jface


    【解决方案1】:

    使用

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

    获取文件类型及其支持的编辑器之间的映射。看看at this javadoc,看看你想知道的关于映射的一切

    【讨论】:

      【解决方案2】:

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

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

      2 : 在 Eclipse 的愿望页面/小部件上使用 Plug-ins Spy Press Alt-Shift-F1,它将显示上下文信息

      【讨论】:

        【解决方案3】:

        没有可以为您提供所有偏好的整体 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 可以访问这些信息)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-30
          • 2014-11-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-13
          • 1970-01-01
          相关资源
          最近更新 更多