Eclipse的启动耗时插件

Eclipse的启动耗时插件

最近在看周志明老师的《深入理解Java虚拟机》,其中提到了关于Eclipse的性能调优,涉及到查看启动时间,需要编写一个查看Eclipse启动时间的插件,于是参考作者提供的代码,自己编写了一个,将其记录下拉作为笔记。

创建工程

首先通过New-->Project-->Plug-in Project创建新的项目。

这里写图片描述

此处不需要设置,直接点击Next,进入到一下个页面;

这里写图片描述

上图的标记处需要勾选,然后直接点击Finish,创建完成。

创建plugin.xml

右键项目名称,在项目目录下创建plugin.xml文件。

这里写图片描述

向文件中添加如下代码块:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.5"?>
<plugin>
    <extension point= "org.eclipse.ui.startup">
        <startup class= "cn.lincain.starttime.ShowTime" />
    </extension>
</plugin>

修改MANIFEST.MF

将文件中Bundle-SymbolicName: cn.lincain.starttime改为

Bundle-SymbolicName: cn.lincain.starttime;singleton:=true

创建ShowTime.java

创建ShowTime.java,并实现org.eclipse.ui.IStart接口。
这里写图片描述

代码如下:

package cn.lincain.starttime;

import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IStartup;

public class ShowTime implements IStartup {

    @Override
    public void earlyStartup() {
        Display.getDefault().syncExec(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                long eclipseStartTime = Long.parseLong(System.getProperty("eclipse.startTime"));
                long costTime = System.currentTimeMillis() - eclipseStartTime;
                Shell shell = Display.getDefault().getActiveShell();
                String message = "Eclipse start in " + costTime + "ms";
                MessageDialog.openInformation(shell, "Information", message);
            }
        });
    }
}

测试打包

然后进行测试,右键项目名称-->Run As-->Eclipse Application,弹出一个新的Eclipse窗口和时间显示窗口,恭喜创建成功。
这里写图片描述

最后,通过右键项目名称-->Exprot-->Deployable plug-ins and fragments将该工程导出打包。

这里写图片描述

找到打包的文件,将其中的jar包复制到eclipse安装路径的plugins文件下。

重启Ecplise即可实现对其启动时间的查看。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Lincain/article/details/82684872