Ich schreibe gerade ein Plugin für die Eclipse IDE. In diesem Plugin habe ich meinen eigenen Typ von Ressourcenmarker (IMarker) definiert. Mit den standardmäßigen Eclipse-Optionen wie den Schaltflächen "Nächste Anmerkung"/"Vorherige Anmerkung" kann der Benutzer zwischen diesen Markierungen navigieren. Ich habe auch eine Ansicht geschrieben, die einige Detailinformationen für einen einzelnen Marker zeigt. Diese Ansicht muss aktualisiert werden, wenn der Benutzer zu einer Markierung navigiert. Kann ich eine Art Zuhörer/Beobachter registrieren, der benachrichtigt wird, wenn der Benutzer eine Markierung auswählt/springt? Wenn das so ist, wie? Wenn nicht, was sind meine Alternativen?Wird benachrichtigt, wenn der Benutzer zu einer Markierung (Annotation) in Eclipse springt
0
A
Antwort
1
Die Aktion "Nächste Anmerkung" ruft die Methode ITextEditorExtension4.gotAnnotation
auf. Die übliche Implementierung dafür ist in AbstractTextEditor
. Dies ruft nur die Annotation auf und ruft die Methode selectAndReveal
auf.
Es scheint also keinen speziellen Listener zu geben, den Sie dafür verwenden können. Es sollten normale Auswahlereignisse generiert werden, so dass Sie den Auswahllistener ISelectionService
verwenden können, aber Sie müssen herausfinden, ob die Auswahl für Ihren Marker getroffen wurde.
Dies scheint nicht so zu funktionieren, wie ich es möchte. Ich erhalte Ereignisse auf diese Art, aber sie sind vom Typ 'TextSelection' und ich habe keine Möglichkeit gefunden zu sagen, ob dies durch" Benutzer, der auf Marker springt "oder durch eine andere Art von Selektionsänderung verursacht wird. –
Es gibt keine Möglichkeit, dass Sie sagen können, soweit ich das sehen kann, ist das das Beste, was getan werden kann. –