0
我是Xtext和Xtend的新手,需要建议如何最好地解决下面的问题。如何在xtext生成的插件中使用外部资源?
我尝试使用下面的代码来创建一个定制的自动补提供商:
class DomainmodelProposalProvider extends AbstractDomainmodelProposalProvider {
def override completePath_ContentPath(EObject model,
Assignment assignment,
ContentAssistContext context,
ICompletionProposalAcceptor acceptor) {
acceptor.accept(createCompletionProposal("/Root/hello/world", context))
acceptor.accept(createCompletionProposal("/Root/hello/xtext", context))
....
....
}
}
其中contentPath
可以是像字符串的XPath的列表,该列表可大了。更重要的是,我想进行渐进式自动补全,即如果用户输入/Root/h
,它将提供Root/hello/world
和/Root/hello/xtext
。但是如果他输入/Root/hello/x
,它只会提供/Root/hello/xtext
。
的作战计划是如下:
- 从文件中允许的字符串列表不知何故阅读;
- 在上面的
DomainmodelProposalProvider
中,获取对允许列表的引用; - 从xtext获取当前的ContentPath值;
- 然后使用#3过滤从#1获得的列表。
- 返回结果列表。
但我被困在第一步。我在哪里把读取外部文件的代码放在xtext项目中(我正在使用eclipse)?它应该充当单身人士,只做一次阅读,如果我想在Xtend中编程,我该如何实现单身人士?
任何帮助将不胜感激!