gpt4 book ai didi

java - Eclipse 插件开发,将不同的编辑器关联到相同的文件扩展名

转载 作者:搜寻专家 更新时间:2023-10-31 19:41:43 24 4
gpt4 key购买 nike

我正在开发一个 eclipse 插件,它将某个编辑器关联到一个特定的文件扩展名,例如“.abc”。

问题是我只想将 .abc 文件与该编辑器相关联,以便我自己的项目使用我自己的性质。就像现在一样,无论在哪个项目中,它都将始终使用该编辑器打开 .abc 文件。

只有当“.abc”文件在我自己的项目中时,我如何才能打开我自己的编辑器?

最佳答案

您需要使用 org.eclipse.core.contenttype 扩展点定义一个 content-type。然后您需要将您的编辑器与特定的内容类型(而不是文件扩展名)相关联。

接下来,您需要将您的项目性质与您刚刚定义的内容类型相关联。

您可能还需要创建第二种内容类型,在具有特定性质的项目之外时应将其用于您的文件。

这是我们在 Groovy-Eclipse 中使用的示例,这样 *.groovy 文件将在 groovy 项目中默认使用 groovy 编辑器打开,但在 groovy 项目之外由文本编辑器打开:

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

在这里,我们为 groovy 项目定义了 groovySource,为非 groovy 项目定义了 groovyText。另请注意,内容类型的优先级不同。

然后,在其他地方,我们将 GroovyEditor 与 groovySource 内容类型相关联。

关于java - Eclipse 插件开发,将不同的编辑器关联到相同的文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4952658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com