在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类似。
分享到:
相关推荐
解决这个问题的两种方法,一是将核心配置文件放到项目的资源路径中,二是在程序中动态获取HDFS路径而非使用静态路径。 通过以上步骤,开发者就可以在本地搭建一个功能完备的Hadoop伪集群环境,并通过Eclipse插件...
另外还需要在获得插件Activity对象后,通过反射给Activity的attach()方法中attach的成员变量赋值。 这样可解决另外一个插件框架作者singwhatiwanna实现的代码中所谓this和that的问题。也是可以使插件Activity不...
在给定的压缩包`org.apusic.jocky_1.0.3.zip`中,我们可以找到以下几个关键文件: 1. **jocky.jar**:这是Jocky混淆编译器的核心库文件,包含了实现混淆功能的Java类和方法。开发者可以将这个库添加到他们的项目中...
- **面向对象编程**:在移动应用开发中,面向对象编程(OOP)是一种常用的方法论。它可以帮助开发者更好地组织代码,提高代码的复用性和可维护性。 - **界面设计和代码逻辑分离**:为了提高开发效率和降低维护成本,...
1. **定义Bundle**:在Eclipse中创建一个新的Plugin项目,并在MANIFEST.MF文件中指定Bundle-SymbolicName、Bundle-Version等属性。 2. **实现服务**:Bundle可以通过实现接口来提供服务,这些服务会被注册到OSGi服务...
- **在Eclipse中建立工程项目myApp**:创建一个新的Web项目,并进行必要的配置。 - **第一个使用JSP实现HelloWorld的例子** - **编写输出HelloWorld的JSP文件HelloWorld.jsp**:创建一个简单的JSP文件,在其中...
运行eclipse,打开help,install new software,名称输入adt_plugin,adt插件的站点为:https://dl-ssl.google.com/android/eclipse/ 将“com.android.ide.eclipse.ndk_23.0.2.1259578.jar”复制到"C:\adt-bundle-...
MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之...在 IUserOperation 接口中增加方法:public List...
� Eclipse JDT plugin (included in most Eclipse IDE packages) � WST (optional, but needed for the Android Editors feature; included in most Eclipse IDE packages ) o JDK 5 or JDK 6 (JRE alone is not ...