【问题标题】:Opening custom editor when a file contains an specific text (Eclipse RCP)当文件包含特定文本时打开自定义编辑器 (Eclipse RCP)
【发布时间】:2014-12-05 15:31:19
【问题描述】:

我正在为一个简单的项目创建一些编辑器,到目前为止一切都很好,除了目前,我的编辑器绑定到特定的文件扩展名,例如,一个编辑器打开 xml 文件,另一个编辑器打开 .properties文件,现在这很好,但我需要做的是在打开的文件包含特定字符串时启动编辑器。我实际上是在项目版本为“3.4”时尝试启动我的编辑器,因此,当文件包含以下内容时:version="3.4",它应该启动我的编辑器,有没有办法做到这一点,或者有没有更好的方法?

请注意,项目版本也在项目方面中指定。

【问题讨论】:

    标签: java editor eclipse-rcp


    【解决方案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 帮助中的更多信息。

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 2022-10-16
      相关资源
      最近更新 更多