如何使 Eclipse 自定义视图从编辑器中当前活动的文件中获取数据?

How do I make eclipse custom view take data from the file currently active in the editor?

我最近开始使用 xtext 创建自己的个人 DSL,并设法创建了一种基于 C 的迷你编程语言(简单表达式和基本函数)。我当前的任务是为该语言创建一个自定义树视图,使我能够将所有函数视为根元素,并将其中的指令视为子元素。

我似乎无法解决的实际问题是如何使我希望创建的自定义树视图从我当前正在处理的文件中获取数据。
我已经为我可以使用的 DSL 准备了一个 RCP 产品,我想在那边包含这个视图。 我已经使用 WindowBuilder 为视图创建了界面,并将其作为 ViewPart。
最后,我希望它看起来接近 java 程序的标准大纲。

提前感谢您的帮助。

如果您使用自己的视图,则可以添加一个 IPartListener 实现,当使用以下代码激活编辑器时会通知您:

        getViewSite().getPage().addPartListener(new IPartListener() {

        @Override
        public void partOpened(IWorkbenchPart part) {

        }

        @Override
        public void partDeactivated(IWorkbenchPart part) {

        }

        @Override
        public void partClosed(IWorkbenchPart part) {

        }

        @Override
        public void partBroughtToTop(IWorkbenchPart part) {

        }

        @Override
        public void partActivated(IWorkbenchPart part) {
            // Add view initialization from the new part

        }
    });