问题描述
有一个 Eclipse EMF 编辑器,它扩展了 MultiPageEditorPart。这个编辑器类是通过 Eclipse EMF 生成的。我没有向这个生成的编辑器添加新代码或任何东西。
我想为 .xml 文件添加结构化文本编辑器页面。 我尝试将以下代码添加到 createPages() 函数中:
try {
StructuredTextEditor sourceEditor = new StructuredTextEditor();
int index = addPage(sourceEditor,getEditorinput());
setPageText(index,"Source");
} catch (PartinitException e) {
e.printstacktrace();
}
但是当我尝试这个时,ctrl + z 和 ctrl + c 不起作用。
解决方法
您需要设置 UNDO/REDO/等。当您的编辑器部分被激活时,sourceEditor
实例中相应操作的全局操作处理程序,就像在 org.eclipse.ui.texteditor.BasicTextEditorActionContributor#doSetActiveEditor(IEditorPart)
中一样,否则键映射将不知道当您的编辑器处于活动状态时应该运行什么。