プラグインビューの1つにリスナーを追加する必要があります。EclipseのCEditorでマウスまたはキーイベントが発生したときにビューを更新する必要があります。私はそれを次のように行いました:
((StyledText)((AbstractTextEditor)activeEditor).getAdapter(Control.class))。addKeyListener(l);
しかし、エディターで別のファイルに変更すると、リスナーが機能しません。何か案は?
プラグインビューの1つにリスナーを追加する必要があります。EclipseのCEditorでマウスまたはキーイベントが発生したときにビューを更新する必要があります。私はそれを次のように行いました:
((StyledText)((AbstractTextEditor)activeEditor).getAdapter(Control.class))。addKeyListener(l);
しかし、エディターで別のファイルに変更すると、リスナーが機能しません。何か案は?
解決済み:キー/マウスリスナーのアイデアを破棄し、EclipseページにSelectionListenerを追加しました。次に、選択がCEditorにある場合にのみ応答するカスタムselectionListenerを作成しました。
ビュークラスにISelectionListenerを実装させました
getViewSite().getPage().addSelectionListener(this);
@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
if(part.getClass() == CEditor.class){
//Do what I needed
}
}
これにより、CEditorでの選択の変更にのみ応答するようになりました。