2012-02-02 114 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");