Eclipse plugin中获取工程的几种办法

在Eclipse开发中,涉及到Resource的时候,经常会需要根据某些操作获取当对应的Project,或者是File。这里总结一下几种常见的方法。

首先看看Eclipse resource的结构:

因此我们只需要获取IResource,就可以轻松地获取到对应的Project了。

public IProject getProject();

下面总结一下获取Project的办法:

1,从选中的编辑器获取(一般的是文件编辑器)

		IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
		IEditorInput editorInput = activeEditor.getEditorInput();
		if(editorInput instanceof FileEditorInput){
			FileEditorInput input = (FileEditorInput) editorInput;
			IFile iFile = input.getFile();
			IProject iProject = iFile.getProject();
		}
 

2,从Project View Selection中获取

		ISelection selection = XXX;//
		IStructuredSelection sselection = (IStructuredSelection) selection;
		Object firstElement = sselection.getFirstElement();
		if(firstElement instanceof IResource){
			IResource resource = (IResource) firstElement;
			IProject project = resource.getProject();
		}

3,从IPath获取

		IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
		IProject project = resource.getProject();
 

其他的就依次类推了,其实只要熟悉了eclipse resource plugin的基本的API之后,这些都是相通的。

PS:Java Project的跟IProject类似。

 

猜你喜欢

转载自salever.iteye.com/blog/1188789
今日推荐