如何以编程方式在 eclipse 4.4 中打开文本编辑器?

how to open a text editor in eclipse 4.4 programmatically?

我想以编程方式在 eclipse 4.4 中打开文本编辑器。我已经使用 IDE class 尝试过,但在 eclipse 4.4 中无法访问它。我该怎么做?

e4 只有部分,没有编辑器和视图。它也没有任何预定义的文本编辑器。

假设您希望同时打开多个编辑器部件,您需要在编辑器的应用程序模型中定义一个'Part Descriptor'。

然后您使用以下方法从描述符创建一个部件:

@Inject
EPartService partService;


MPart part = partService.createPart("descriptor id");

您现在需要将其添加到应用程序模型中。通常这将是 child 的 'MPartStack':

@Inject
EModelService modelService;
@Inject
MApplication app;

MPartStack editorStack = (MPartStack)modelService.find("part stack id", app);

editorStack.getChildren().add(part);

最后展示部分:

partService.showPart(part, PartState.ACTIVATE);

您在编辑器的部件描述符中指定的 class 必须实现文本编辑器。您可以使用 JFace 文本编辑器 classes 但 不能 'org.eclipse.ui.xxx' 编辑器 classes。

对于一个非常简单的文本编辑器,TextViewerDocument class 就足够了。