외부 Eclipse RCP 프로젝트에서 MyDSLProposalProvider를 확장하려고합니다. 내 ProposalProvider를 확장하는 클래스 속성이 필요한 확장 점 스키마를 만들었습니다. 새 프로젝트에서는 클래스를 확장하여 일부 메서드가 일부 출력을 제공하므로 외부 메서드가 호출되었음을 알 수 있습니다. 그러나 이것은 현재 일어나지 않습니다. 내가 고려해야 할 것이 있습니까? 나의 새로운 구현을 나는 AbstractMyDSLProposalProvider
에서 생성하는 방법을 재 작성하지만 트리거 할 때 AbstractMyDSLProposalProvider
에서 미리 정의 된 메서드를 호출하지Extension Point를 통해 외부 Eclipse 프로젝트에서 ProposalProvider 확장
MyDSLProposalProvider extends AbstractMyDSLProposalProvider
ExternalProposalProvider extends MyDSLProposalProvider
: 같은
는 현재 hirachy 보인다.
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 프로젝트의 제공된 확장 점에 대한 확장을 선언합니다. 그러나 질문의 두 번째 부분을 얻지 못합니다. 좀 더 자세한 내용을 말하면 어쩌면 explplain 수 있습니까? – fx88
스키마를 사용하여 새로운 확장 점을 정의하는 경우 'IExtensionRegistry'에서 해당 스키마를 사용하는 확장 점을 읽는 코드를 작성해야합니다. –