How to add a listener to the default code editor in Eclipse?(如何在 Eclipse 的默认代码编辑器中添加监听器?)
问题描述
我想在 Eclipse 的默认代码编辑器中添加一个监听器.每当打开或关闭新的代码文件时都应该触发它.有没有类似的东西?我用谷歌搜索了几个小时,但找到了一个可行的解决方案.
I want to add a listener to the default code editor in Eclipse. It should be triggered whenever a new code file is opened or closed. Is there anything available like that? I did a google search for hours, but could find a working solution.
我特别关注默认的 Java 代码编辑器.但是一旦我知道如何连接到这样的编辑器,添加其他编辑器应该不是什么大问题.到目前为止,我遇到的主要问题是,我不知道应该如何处理我可以获得的 IEditorDescriptor.
I'm especially focusing the default Java code editor. But once I know how to hook into such an editor it shouldn't be a big problem to add additional ones. The main problem I have so far is, that I don't know what I should do with the IEditorDescriptor I could get.
推荐答案
可以在PartService中注册一个IPartListener2,例如:
You can register an IPartListener2 with the PartService, for example:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(aListener)
还有其他注册 IPartListener 的方法,例如,如果您有对 IWorkbenchPage
的引用.
There are other ways to register the IPartListener, for example if you have a reference to an IWorkbenchPage
.
当编辑器打开或关闭时,部件侦听器会收到通知.对于 IPartListener2
,您将获得一个 IWorkbenchPartReference
,您可以使用它来检查所涉及的编辑器类型.例如,要检测标准 Java 编辑器,您可以检查 ID org.eclipse.jdt.ui.CompilationUnitEditor
.
The part listener is notified when editors are opened or closed, among other things. For IPartListener2
, you get an IWorkbenchPartReference
which you can use to check what kind of editor is involved. For example, to detect the standard Java editor, you can check for the ID org.eclipse.jdt.ui.CompilationUnitEditor
.
这篇关于如何在 Eclipse 的默认代码编辑器中添加监听器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Eclipse 的默认代码编辑器中添加监听器?
- Spring Boot连接到使用仲裁器运行的MongoDB副本集 2022-01-01
- 将log4j 1.2配置转换为log4j 2配置 2022-01-01
- Eclipse 插件更新错误日志在哪里? 2022-01-01
- C++ 和 Java 进程之间的共享内存 2022-01-01
- 如何使用WebFilter实现授权头检查 2022-01-01
- value & 是什么意思?0xff 在 Java 中做什么? 2022-01-01
- 从 finally 块返回时 Java 的奇怪行为 2022-01-01
- Jersey REST 客户端:发布多部分数据 2022-01-01
- Safepoint+stats 日志,输出 JDK12 中没有 vmop 操作 2022-01-01
- Java包名称中单词分隔符的约定是什么? 2022-01-01