【问题标题】:How to add a listener to the default code editor in Eclipse?如何在 Eclipse 的默认代码编辑器中添加监听器?
【发布时间】:2012-04-26 20:16:08
【问题描述】:

我想在 Eclipse 的默认代码编辑器中添加一个监听器。每当打开或关闭新的代码文件时都应该触发它。有没有类似的东西?我用谷歌搜索了几个小时,但找到了一个可行的解决方案。

我特别关注默认的 Java 代码编辑器。但是一旦我知道如何连接到这样的编辑器,添加其他编辑器应该不是什么大问题。到目前为止,我遇到的主要问题是,我不知道应该如何处理我可以获得的 IEditorDescriptor。

【问题讨论】:

  • 没有“默认”代码编辑器;任何插件都可以贡献一个编辑器,您可以安装任意数量的插件。
  • 如果我没有安装插件怎么办?然后有一个可用的编辑器。我猜那将是默认编辑器。
  • 但是你总是安装了一些插件。 Java 编辑器、C++ 编辑器、文本编辑器等,都是由插件提供的。这些插件只包含在默认的 Eclipse 安装中。
  • 是的,现在我明白了,但是例如可以获得特定文件类型的默认编辑器,但我仍然不知道如何挂钩。

标签: java eclipse eclipse-plugin


【解决方案1】:

您可以向 PartService 注册一个 IPartListener2,例如:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(aListener)

还有其他方法可以注册 IPartListener,例如,如果您引用了 IWorkbenchPage

当编辑器打开或关闭时,部件监听器会收到通知。对于IPartListener2,您会得到一个IWorkbenchPartReference,您可以使用它来检查所涉及的编辑器类型。例如,要检测标准 Java 编辑器,您可以检查 ID org.eclipse.jdt.ui.CompilationUnitEditor

【讨论】:

  • 只是一个小注释,接口命名为IPartListener2,如第2段所述(没有IPartChangeListener2)。
猜你喜欢
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
  • 2011-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多