2012-02-02 146 views
1

是否有可能我自己的自定義Eclipse編輯器中嵌入一個文本編輯器(帶有語法着色和內容輔助)?我是一個文本編輯器(與像語法着色功能)需要擴展IEditorPart或子類之一的印象,但我是糾正以爲的IEditorPart子類不能被嵌入的,因爲它不是Eclipse的SWT的一部分嗎?如果這是真的,是否有另一種獲得該功能的方法?嵌入另一個Eclipse編輯器內的文本編輯器

要擴大這種「定製Eclipse編輯器」:我指的是包含多個選項卡的編輯器,並在其中一個選項卡我想嵌入與語法着色文本編輯器,並可能內容輔助。

回答

1

對,您不能嵌入IEditorPart,而是您可以從具體的IEditorPart繼承您的編輯器並覆蓋其自定義方面。

+0

你能否就此展開?我不能嵌入類似'org.eclipse.ui.editors.text.TextEditor'的東西,因爲它沒有擴展'Composite'。 – seand 2012-02-02 17:09:27

+0

我不是在談論嵌入,我在談論擴展一些現有的編輯器,並覆蓋可用的公共和受保護的方法(又名裝飾)來實現所需的效果。如果你的「編輯器」不僅僅是一個使用Eclipse提供的花裏胡哨的文本編輯器(語法高亮,斷點等等),那麼這種方法將不適合你。 – 2012-02-02 17:12:58

+0

我編輯了這個問題,更多關於這個「我所指的」自定義編輯器的信息。 – seand 2012-02-02 17:18:54

2

是,使用MultiPageEditorPart,其中每一頁或者是一個IEditorPart或SWT控制。請記住,您正在嵌入的文本編輯器必須已經寫入才能在該情況下正常工作。

0

您可以添加編輯器MultiPageEditPArt。

final IEditorPart = new YourEditor(); 
    int editorIndex = addPage(formJSEditor, editorInput); 
    setPageText(editorIndex, "Your Editor");