私はxTextを使用してDSLを開発し、最近somme拡張補完を追加しました。Ctrl-Spaceでコンプリーションを呼び出すときにxTextで生成されたエディターでは、コンプリーションハンドラーは、同じ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モデルにデータを入力します。
私のおおよその英語(私はフランス語です)をご理解いただければ幸いです...