向 AbstractDecoratedTextEditor 添加主动侦听器

Adding active listener to AbstractDecoratedTextEditor

我有一个扩展 AbstractDecoratedTextEditor 的编辑器 MyEditor。 在 Eclipse 中,我可以打开很多 MyEditor 的文件。每个文件都是 MyEditor 的一个实例。 当我在选项卡中单击以更改文件时,我需要对将打开的实例(文件)执行相同的操作。 也就是说,我需要在 MyEditor 中添加一个侦听器以了解实例(文件)何时激活。

您可以使用 org.eclipse.ui.IPartListener 来监听部件的变化。

IPartService partService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService();

partService.addPartListener(listener);

public void partActivated(IWorkbenchPart part)

侦听器的方法将在激活某个部分时调用,因此您可以在此处查看您的编辑器。

您的编辑器是 IWorkbenchPart 的一个实例,因此您在 `partActivated 中可以只使用

if (part instanceof MyEditor)
 {
   MyEditor editor = (MyEditor)part;

   ... check which file this editor is editing 
   ... and do action if it is the required file

 }