当工程关闭时候如何判断工程类型

来源:互联网 发布:淘宝有名的好的饰品店 编辑:程序博客网 时间:2024/06/05 10:56

      今天在做插件开发的时,在工程视图中需要判断工程的类型。当工程关闭时候。eclipse以Project类对象管理工程。开始以为Project .getNature(String natureid)可以解决问题。但是一直报工程未打开的错误。所以换一种思路。

1、通过Project.getWorkspace获取 Workspace 然后再获取NatureManager

2、通过 NatureManager.isNatureEnable(Project,Natureid)判断工程的类型。

3、一下是具体代码

//当工程已经关闭,需要通过workspace中的NatureManager判断if (element instanceof Project) {Project project = (Project) element;try {Workspace workspace = (Workspace) project.getWorkspace();
workspace.loadProjectDescription(project.getLocation().append(".project"));
if (workspace.getNatureManager().isNatureEnabled(project,natureString)) {return true;} else {return false;}} catch (Exception e) {e.printStackTrace();}}

 问题补充:代码还有一个bug 就是当eclipse关闭,再打开时候,eclipse不会自动去加载.project文件。所以需要我们手动调用workspace.loadProjectDescription()方法加载.project 方法。才能判断工程类型。

0 0
原创粉丝点击