如何以编程方式将条目添加到文件关联首选项中?

How do I add an entry into the File Association preferences programmatically?

我有一个 Eclipse 功能,可以让用户创建项目。创建的项目将有一个 .pdf 文件作为资源之一。

所以,当我的用户双击这个 .pdf 文件资源时,他目前收到一个错误,说他的文件无法打开。

我想做的是让我的 Eclipse 功能在文件关联中添加 .pdf 文件,并尝试将文件类型与用户现有的默认 pdf 查看器相关联,he/she 可能已经安装在 PC 上.

就像我在这里手动使用 Eclipse 首选项对话框所做的那样。

此功能不是一个广泛使用的工具,并且出于我无法控制的原因,它是 Windows 唯一的功能。因此,没有必要包含所有主要操作系统的解决方案。

我自己还没有深入研究这个问题,但请查看 Eclipse 帮助中的 Contributing content types

您可以使用 org.eclipse.ui.editors 定义编辑器和关联的文件扩展名。如果您使用扩展点定义的 commandlauncher 属性,编辑器将被假定为外部编辑器

<extension point="org.eclipse.ui.editors"> 
  <editor 
     id="com.xyz.PDFEditor" 
     name="PDF editor" 
     icon="./icons/PDFEditor.png"
     extensions="pdf" 
     command="command to run" 
     default="true"> 
  </editor>