Debe definir un content-type
utilizando el punto de extensión org.eclipse.core.contenttype
. Luego necesita asociar su editor con el tipo de contenido particular (y no la extensión de archivo).
A continuación, debe asociar la naturaleza de su proyecto con el tipo de contenido que acaba de definir.
También es posible que necesite crear un segundo tipo de contenido que se debe utilizar para sus archivos cuando esté fuera de un proyecto de naturaleza específica.
Este es un ejemplo que hemos utilizado en Groovy-Eclipse para que los archivos * .groovy se abrirían con un editor maravilloso por defecto en proyectos maravillosos, pero por un editor de texto fuera de los proyectos maravillosos:
<extension point="org.eclipse.core.contenttype.contentTypes">
<content-type
base-type="org.eclipse.jdt.core.javaSource"
file-extensions="groovy"
id="groovySource"
name="Groovy Source File (for Groovy projects)"
priority="high"/>
<content-type
base-type="org.eclipse.core.runtime.text"
file-extensions="groovy"
id="groovyText"
name="Groovy Text File (for non-Groovy projects)"
priority="low"/>
</extension>
<extension
id="groovyNature"
name="Groovy Nature"
point="org.eclipse.core.resources.natures">
<runtime>
<run class="org.codehaus.jdt.groovy.model.GroovyNature"/>
</runtime>
<requires-nature id="org.eclipse.jdt.core.javanature"/>
<content-type
id="org.eclipse.jdt.groovy.core.groovySource">
</content-type>
Aquí, definimos groovySource
para proyectos groovy y groovyText
para proyectos no geniales. Tenga en cuenta también que la prioridad de los tipos de contenido es diferente.
Y luego, en otro lugar, asociamos el GroovyEditor
con el tipo de contenido groovySource.
Gracias, gran respuesta. – FabianB