我正在为一个简单的项目创建一些编辑器,到目前为止一切都很好,除了目前我的编辑器绑定到特定的文件扩展名,例如,一个编辑器打开 xml 文件,另一个编辑器打开 .properties 文件,现在很好,但我需要做的是,在打开的文件包含特定字符串时启动编辑器。当项目版本为"3.4"时,我实际上正在尝试启动我的编辑器,因此,当文件包含以下内容时:version="3.4"
,它应该启动我的编辑器,有没有办法做到这一点,或者有更好的方法?
请注意,项目版本也是在项目方面指定的。
您可以添加一个 describer
元素作为 content-type
的子元素,该元素定义要调用的类,该类可以检查文件是否对此内容类型有效。
<content-type id="customType"
base-type="org.eclipse.jst.jsf.facesconfig.facesConfigFile"
file-extensions="xml">
<describer class="package.MyDescriber"/>
</content-type>
类必须实现IContentDescriber
(或ITextContentDescriber
)。
方法:
public int describe(InputStream contents, IContentDescription description)
调用以检查内容。如果正常,则返回VALID
,如果不能,则INVALID
返回。
如果需要,还可以支持文件的其他属性(例如确定字符编码)。
有关扩展点的 Eclipse 帮助中的更多信息。