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 的默认代码编辑器中添加监听器?
基础教程推荐
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- RabbitMQ:消息保持“未确认"; 2022-01-01
