org.eclipse.core.contenttype: 无法创建内容描述符

org.eclipse.core.contenttype: Could not create content describer

我正在开发一个自定义编辑器,为此我想定义一个可以由我的编辑器打开的自定义内容类型。

我的内容类型是 xml,具有特定的命名空间和根元素。但是每次我启动 Eclipse 时,它​​都无法创建内容类型:

!ENTRY org.eclipse.core.contenttype 4 0 2018-07-12 12:35:01.911 !MESSAGE Could not create content describer for fooeditor.foofile. Content type has been disabled.

我的plugin.xml:

<extension
         point="org.eclipse.core.contenttype.contentTypes">

 <content-type
       base-type="org.eclipse.core.runtime.xml"
       default-charset="UTF-8"
       describer="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2"
       file-extensions="xml"
       id="foofile"
       name="FOO File"
       priority="high">
         <describer
               class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2"
               plugin="org.eclipse.core.runtime_3.13.0.v20170207-1030">
            <parameter
                  name="element"
                  value="{http://www.foo.com}foo">
            </parameter>
         </describer>
      </content-type>
   </extension>

过去一周我一直在努力解决这个问题,但不知道为什么这不起作用。感谢任何帮助。

不要同时使用 describer 属性和 <describer - 使用一个或另一个。

您对描述者 plugin 的评价是错误的。插件 ID 只是 org.eclipse.core.runtime

所以使用:

<extension
         point="org.eclipse.core.contenttype.contentTypes">

 <content-type
       base-type="org.eclipse.core.runtime.xml"
       default-charset="UTF-8"
       file-extensions="xml"
       id="foofile"
       name="FOO File"
       priority="high">
         <describer
               class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2"
               plugin="org.eclipse.core.runtime">
            <parameter
                  name="element"
                  value="{http://www.foo.com}foo">
            </parameter>
         </describer>
      </content-type>
   </extension>