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

时间:2018-07-12 11:06:30

标签: eclipse eclipse-pde

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

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

  

!ENTRY org.eclipse.core.contenttype 4 0 2018-07-12 12:35:01.911   !MESSAGE无法为fooeditor.foofile创建内容描述程序。   内容类型已被禁用。

我的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>

我试图在过去的一周里弄清楚这一点,但不知道为什么它不起作用。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

不要同时使用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>