2014-12-05 138 views
0

我爲一個簡單的項目創建了一些編輯器,目前爲止一切正常,除了目前我的編輯器被綁定到特定的文件擴展名,例如,一個編輯器打開xml文件,其他編輯器打開.properties文件,現在這很好,但我需要做的是在打開的文件包含特定字符串時啓動編輯器。實際上,當項目版本是「3.4」時,我試圖啓動我的編輯器,因此,當文件包含如下內容:version="3.4"時,它應該啓動我的編輯器,有沒有辦法做到這一點,還是有更好的方法到那個?當文件包含特定文本(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幫助中的更多信息。

+0

謝謝,請參閱我的編輯,我會繼續調查 – CJ1 2014-12-05 16:28:52

相關問題