Eclipse plugin 对话框中的Xtext DSL嵌入式编辑器
我不熟悉xtext,我已经使用xtext创建了一个DSL,并且我已经生成了工件,这已经生成了编辑器,它有很多功能,比如内容辅助和语法着色。现在的问题是我想将编辑器嵌入到一个对话框中 为了使用EmbeddedEditor实现此im,我可以获取嵌入式编辑器并将其放置在对话框中,但嵌入式编辑器不显示文件的内容 文件C:/Eclipse\u Work/workspace/runtime\u workspace/apa/ex.mydsl包含:Eclipse plugin 对话框中的Xtext DSL嵌入式编辑器,eclipse-plugin,eclipse-rcp,xtext,Eclipse Plugin,Eclipse Rcp,Xtext,我不熟悉xtext,我已经使用xtext创建了一个DSL,并且我已经生成了工件,这已经生成了编辑器,它有很多功能,比如内容辅助和语法着色。现在的问题是我想将编辑器嵌入到一个对话框中 为了使用EmbeddedEditor实现此im,我可以获取嵌入式编辑器并将其放置在对话框中,但嵌入式编辑器不显示文件的内容 文件C:/Eclipse\u Work/workspace/runtime\u workspace/apa/ex.mydsl包含: import com.ex.test; entity{ el
import com.ex.test;
entity{
element a;
}
对话框的createcontrol()中的代码是:
iedEderSourceProvider resourceProvider=新的iedEderSourceProvider(){
@凌驾
公共XtextResource createResource(){
试一试{
Resource Resource=resourceSet.createResource(URI.createURI(“C:/Eclipse\u Work/workspace/runtime\u workspace/apa/ex.mydsl”);
xtextresource2=(XtextResource)资源;
返回(XtextResource)资源;
}捕获(例外e){
返回null;
}
}
};
MyDslActivator activator=MyDslActivator.getInstance();
喷射器=激活器
.getInjector(MyDslActivator.COM_APAMA_STUDIO_QUERY_EXT_MYDSL);
@禁止警告(“限制”)
EmbeddedEditorFactory=injector.getInstance(EmbeddedEditorFactory.class);
EmbeddedEditor句柄=factory.newEditor(resourceProvider).withParent(
复合材料);
EmbeddedEditorModelAccess partialEditor=handle.createPartialEditor();
handle.getViewer().getControl().setLayoutData(新的GridData(GridData.FILL,GridData.FILL,true,true,2,0));
当我运行项目时,对话框会打开一个编辑器区域,但它没有显示ex.mydsl中的代码,编辑器是空的
请告诉我如何在嵌入式编辑器中显示代码您必须将编辑器的初始内容指定为的
editablePart
参数。要以文本形式获取XtextResource
的内容,请将其转换为ByteArrayOutputStream
,然后使用toString将其转换为字符串。
我希望用java中的eclipse创建一个xtext编辑器。。你找到解决这个问题的办法了吗?