当前位置: 代码迷 >> Eclipse >> Eclipse插件开发有关问题:editor的选中事件
  详细解决方案

Eclipse插件开发有关问题:editor的选中事件

热度:25   发布时间:2016-04-23 13:52:37.0
Eclipse插件开发问题:editor的选中事件
想要做一个类似outline的view,是与当前打开的editor的内容联动的。

google的结果都是参考outline的实现,看了,但是没有看懂,所以求教如何实现了。

简化一下问题,应该是这样的:打开了多个editor之后,切换不同的editor,这个事件如何获取?

如果有其他的解决方式,也行!

------解决方案--------------------
拿到IWorkbenchPage, 有addPartListner方法,可以监听到Part的active等事件,具体的看API
------解决方案--------------------
在打开Editor的View里面增加IPartListener监听器:

Java code
        // 给工作区增加监听器,当编辑器被激活时,关联选中Project节点        getSite().getPage().addPartListener(new IPartListener() {                                    @Override            public void partOpened(IWorkbenchPart part) {                // TODO Auto-generated method stub            }                        @Override            public void partDeactivated(IWorkbenchPart part) {                // TODO Auto-generated method stub                            }                        @Override            public void partClosed(IWorkbenchPart part) {                // TODO Auto-generated method stub                            }                        @Override            public void partBroughtToTop(IWorkbenchPart part) {                                // TODO Auto-generated method stub            }                        @Override            public void partActivated(IWorkbenchPart part) {                if (SolutionEditor.ID.equals(part.getSite().getId()) && !open) {                    linkWithAction.run();                }            }        });
  相关解决方案