`
salever
  • 浏览: 250600 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • RCP
 
阅读更多

在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类似。

 

 

 

分享到:
评论
1 楼 wsyzx1989 2013-05-14  

相关推荐

Global site tag (gtag.js) - Google Analytics