【插件开发】—— 3 透视图开发

Eclipse有很多的透视图,比如Debug,或者java。下面分别是Debug,和java的透视图,可以发现,他们的结构不一样,展示给使用者的画面也不相同。

  下面步入正题,来开发我们自己的透视图。

  准备一个插件工程的环境,用来添加我们自己的透视图。

  新建一个插件工程

  输入我们的工程名字

  修改自己想要修改的属性,默认即可。

  接下来,eclipse为我们自动生成了一个插件工程。

  创建一个透视图类,并添加自己的视图风格。

  我们这个时候开始真正的开发一个透视图类。创建一个类,名字叫firstPer

  让这个类继承IPerspectiveFactory,并实现它的继承方法。

 1 package com.test.myperspective;
 2 
 3 import org.eclipse.ui.IPageLayout;
 4 import org.eclipse.ui.IPerspectiveFactory;
 5 
 6 public class firstPer implements IPerspectiveFactory {
 7 
 8     @Override
 9     public void createInitialLayout(IPageLayout layout) {
10         // TODO Auto-generated method stub
11         
12     }
13 
14 }

  为了看出效果,我们在初始化的时候,定义一个outline视图,一个problerm视图,并关闭编辑视图。

package com.test.myperspective;

import org.eclipse.ui.IFolderLayout;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;

public class firstPer implements IPerspectiveFactory {

    @Override
    public void createInitialLayout(IPageLayout layout) {
        // TODO Auto-generated method stub
        String editorArea = layout.getEditorArea();
        layout.setEditorAreaVisible(false);
        layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.LEFT, 0.25f,
                editorArea);
        IFolderLayout bottom = layout.createFolder("bottom",
                IPageLayout.BOTTOM, 0.66f, editorArea);
        bottom.addView(IPageLayout.ID_PROBLEM_VIEW);
    }

}

  创建一个图标文件夹,放置我们自己的透视图图标。

  在工程中添加一个新的文件夹,存放一个图标图片。

  添加一个透视图扩展点,并把透视图类,及图标加入到扩展点属性栏中。

  在属性预览视图的扩展点页面extension中,添加一个视图扩展点。

  查找org.eclipse.ui.perspectives类,添加。

  eclipse会自动帮助我们生成一个新的视图添加到这个扩展点下面

  修改扩展点元素的属性,匹配到刚刚我们创建的firstPer类,修改完后,不要忘记保存

  运行插件工程,查看透视图

  接下来就是见证成果的时刻啦。把工程作为一个Eclipse Application运行。

  在最右边的打开透视图按钮中,选择自己的透视图,可以看到,只有一个outline,和problerms的透视图。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏coding

vue.js使用watch监听路由变化

27120
来自专栏编程微刊

bootsrap+jquery+组件项目引入文件的常见报错报错一:Uncaught ReferenceError: $ is not defined报错二:jsp页面相对路径和绝对路径的问题:报错三:

14.6K40
来自专栏Jerry的SAP技术分享

ABAP Netweaver, SAP Cloud Platform和Kubernetes的用户区分

用户帐户为用户提供账户标识,而服务账户为计算机进程和Kubernetes集群中运行的

11420
来自专栏互联网杂技

入门webpack(下)

插件(Plugins) 插件(Plugins)是用来拓展Webpack功能的,它们会在整个构建过程中生效,执行相关的任务。 Loaders和Plugins常常被...

33760
来自专栏coding

RabbitMQ实战4.发布与订阅交换机临时队列发布与订阅功能实现执行结果流程总结参考文档

RabbitMQ并非直接将消息投递到队列中,而是要经过交换机,交换机再与队列绑定。那么,什么是交换机? 如何通过交换机与队列的绑定实现发布与订阅功能?

11920
来自专栏SDNLAB

OpenDaylight与Mininet应用实战之OpenFlow协议分析

1、实验目的 在实验平台上熟悉SDN原理操作,通过wireshark抓包工具可以直接看到控制器与OVS交换机的通信过程、分析OpenFlow(以下简写为OF)协...

43850
来自专栏高性能服务器开发

服务器开发中网络数据分析与故障排查经验漫谈

一、 操作系统提供的网络接口 为了能更好的排查网络通信问题,我们需要熟悉操作系统提供的以下网络接口函数,列表如下: 接口函数名称接口函数描述接口函数签名soc...

38150
来自专栏软件开发 -- 分享 互助 成长

Android真机调试的时候logcat中无法输出调试信息的解决办法

真机调试不输出日志到logcat的原因是手机厂商默认关闭了调试打印的功能,通过以下方法开启此方法。 下面以华为P6手机为例进行操作: 1、在拨号界面输入:*#*...

21380
来自专栏dalaoyang

Vue项目History模式404问题解决

本人是Java后台开发,Vue其实使用也没有多久,只能说简单了解。发现问题的时候其实也一头雾水,第一思想就是百度看别人的思路。

19720
来自专栏技术博文

如何用js得到当前页面的url信息方法(JS获取当前网址信息)

设置或获取对象指定的文件名或路径。 alert(window.location.pathname) 设置或获取整个 URL 为字符串。 alert(wi...

34270

扫码关注云+社区

领取腾讯云代金券