我用 xText 开发了一个 DSL,最近添加了一些增强的完成。在 xText 生成的编辑器中,当通过 Ctrl-Space 调用完成时,完成处理程序必须执行文件夹扫描以在同一 DSL 的另一个文本文件中查找符号。入口点是:
public class TypesProposalProvider extends AbstractTypesProposalProvider
{
public void completeQualifiedName_Path(
EObject model,
Assignment assignment,
ContentAssistContext context,
ICompletionProposalAcceptor acceptor )
{
super.completeQualifiedName_Path( model, assignment, context, acceptor );
我用:
Model root = (Model) context.getRootModel();
Resource rootRc = root.eResource();
获取模型的 emf.ecore 容器。
现在,就ecore资源而言,我如何查找同级资源,同一文件夹中的其他文件?
对于其他资源,我将调用 Resource.load() 来填充兄弟姐妹的底层 emf.ecore 模型。
我希望你能理解我的近似英语(我是法国人)......