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中編程,我該如何實現單身人士?
任何幫助將不勝感激!