MyDSLProposalProviderを外部Eclipse RCPプロジェクトから拡張しようとしています。私は私のProposalProviderを拡張するクラスプロパティを必要とする拡張ポイントスキーマを作成しました。新しいプロジェクトでは、クラスをオーバーロードしていくつかのメソッドをいくつか出力して、外部メソッドが呼び出されることがわかります。しかし、これは現在起こっていません。私は考慮すべきことがありますか?エクステンションポイント経由で外部EclipseプロジェクトにProposalProviderを拡張
現在hirachyは、次のようになります。
MyDSLProposalProvider extends AbstractMyDSLProposalProvider
ExternalProposalProvider extends MyDSLProposalProvider
私はAbstractMyDSLProposalProvider
で生成されたメソッドを書き直しが、そのトリガーされたときAbstractMyDSLProposalProvider
で事前に定義されたメソッドは、私の新しい実装と呼ばれていません。
public class ExternalMyDSLProposalPovider extends MyDSLProposalProvider
{
@Override
public void completeComponent_Name(EObject model, Assignment
assignment, ContentAssistContext context,
ICompletionProposalAcceptor acceptor) {
System.err.println("extern");
if(model instanceof Component)
{
createProposal("foo", "foo", context, acceptor);
}
super.completeComponent_Name(model, assignment, context, acceptor);
}
}
これは外部Eclipse Project
のクラスです。 助けてくれてありがとう。
新しいプロジェクトは実際に新しいスキーマを使用して拡張ポイントを宣言していますか?メイン・プラグインの拡張ポイント定義をどのように読んでいるのですか? –
はい新しいプロジェクトは、myDSLプロジェクトの提供された拡張ポイントの拡張を宣言します。しかし、私はあなたの質問の2番目の部分を取得しません。もっと細かいことで何を意味するのかもしれませんか? – fx88
スキーマで新しい拡張ポイントを定義する場合、そのスキーマを使用する拡張ポイントを 'IExtensionRegistry'から読み込むコードを記述する必要があります。 –