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

本文介绍了一种在Eclipse中判断已关闭工程类型的实用方法。通过获取Workspace并使用NatureManager来判断工程是否具备特定性质,解决了Project.getNature在工程关闭时无法使用的难题。

      今天在做插件开发的时,在工程视图中需要判断工程的类型。当工程关闭时候。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 方法。才能判断工程类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值