eclipse插件开发:把自定义的文件类型使用xml编辑器打开

eclipse开发中自定义了几种xml格式的文件,但是文件的后缀名不是“.xml”是自定义的“.eventdesc”之类的。
首先尝试直接在文件上右键【open with】->【XML Editor】,文件打开后在xml编辑器的Design页中会显示“The document is empty.”,并且不能通过Design页进行编辑文件。
第二次,在eclipse菜单栏选择【Window】->【Preferences】,在对话框中选择【General】->【Content Types】配置页,在配置页中选择【Text】->【XML】,然后点击“Add…”按钮,输入“*.eventdesc”,把eventdesc后缀的文件与xml编辑器关联,再重新用【XML Editor】打开eventdesc文件。则可以成功打开并使用。

但是想要别人用插件的时候不需要手动去配置,所以想到两种方法。

第一种:在插件的启动类的start()方法中添加如下代码

// 获取xml编辑器所匹配的类型
IContentType contentType = Platform.getContentTypeManager().getContentType("org.eclipse.core.runtime.xml");
// 获取xml编辑器所匹配的文件后缀名数组,可以通过遍历当前数组,检查需要添加的后缀名是否已经关联
String[] fileSpecs = contentType.getFileSpecs(IContentType.FILE_EXTENSION_SPEC);
contentType.addFileSpec("eventdesc", IContentType.FILE_EXTENSION_SPEC);

第二种:通过在plugin.xml文件中扩展org.eclipse.core.runtime.contentTypes扩展点,配置如下

<!-- 将资文件与xml编辑器相关联  -->
   <extension point="org.eclipse.core.runtime.contentTypes">
     <content-type id="reportdesc" name="%contentType.name"
          base-type="org.eclipse.core.runtime.xml"
          priority="high"
          default-charset="UTF-8"
          file-extensions="eventdesc">
       <describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber"/>
     </content-type>
     <!-- 相当于设置文件的默认打开编辑器  -->
     <file-association 
        content-type="org.eclipse.core.runtime.xml" 
        file-extensions="eventdesc"/>  
   </extension>

猜你喜欢

转载自blog.csdn.net/u010695008/article/details/51781549
今日推荐