我为一个简单的项目创建了一些编辑器,到目前为止一切都很好,除了目前我的编辑器绑定了一个特定的文件扩展名,例如,一个编辑器打开xml文件,其他编辑器打开.properties文件,现在还可以,但我需要做的是在打开的文件包含特定字符串时启动编辑器。当项目版本为" 3.4"时,我实际上尝试启动我的编辑器,所以,当文件包含这样的内容:version="3.4"
时,它应该启动我的编辑器,是否有一种方法,或者有更好的方法吗?
请注意,项目版本也在项目构面中指定。
答案 0 :(得分:1)
您可以添加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帮助中的更多信息。