gpt4 book ai didi

eclipse - 在 Eclipse 中打开新编辑器时如何收到通知?

转载 作者:行者123 更新时间:2023-12-04 17:14:15 26 4
gpt4 key购买 nike

我有一个 View ,希望收到有关所有当前打开的编辑器的通知。我在哪里可以添加一个监听器来实现这一点?

我期待 WorkbenchPage 或 EditorManager 有一些合适的监听器注册表,但我找不到它。

最佳答案

您的 View 是否使用 org.eclipse.ui.IPartListener2 ?

这就是使用这个 EditorListener ,其工作是针对给定 View 对编辑器事件(包括打开和关闭)使用react

public class EditorListener implements ISelectionListener, IFileBufferListener,
IPartListener2 {
protected BytecodeOutlineView view;

EditorListener(BytecodeOutlineView view){
this.view = view;
}

[...]

/**
* @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
*/
public void partOpened(IWorkbenchPartReference partRef) {
view.handlePartVisible(partRef.getPart(false));
}

现在如果您的 ViewPart直接实现一个 IPartListener2 ,它可以将自己注册到各种 Editors ,像这样 BytecodeReferenceView

public class BytecodeReferenceView extends ViewPart implements IPartListener2, ISelectionListener {

[...]

public void createPartControl(Composite parent) {
browser = new Browser(parent, SWT.BORDER);
browser.setText(BytecodeOutlinePlugin.getResourceString(NLS_PREFIX
+ "empty.selection.text"));
final IWorkbenchWindow workbenchWindow = getSite().getWorkbenchWindow();
workbenchWindow.getPartService().addPartListener(this);
[...]

关于eclipse - 在 Eclipse 中打开新编辑器时如何收到通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/542338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com