`
salever
  • 浏览: 257263 次
  • 性别: 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  

相关推荐

    hadoop伪集群搭建及eclipse插件配置

    解决这个问题的两种方法,一是将核心配置文件放到项目的资源路径中,二是在程序中动态获取HDFS路径而非使用静态路径。 通过以上步骤,开发者就可以在本地搭建一个功能完备的Hadoop伪集群环境,并通过Eclipse插件...

    Android插件框架Android-Plugin-Framework.zip

    另外还需要在获得插件Activity对象后,通过反射给Activity的attach()方法中attach的成员变量赋值。 这样可解决另外一个插件框架作者singwhatiwanna实现的代码中所谓this和that的问题。也是可以使插件Activity不...

    Java混淆编译器-jocky_1.0.3

    在给定的压缩包`org.apusic.jocky_1.0.3.zip`中,我们可以找到以下几个关键文件: 1. **jocky.jar**:这是Jocky混淆编译器的核心库文件,包含了实现混淆功能的Java类和方法。开发者可以将这个库添加到他们的项目中...

    3G最新应用开发技术及典型案例分享

    - **面向对象编程**:在移动应用开发中,面向对象编程(OOP)是一种常用的方法论。它可以帮助开发者更好地组织代码,提高代码的复用性和可维护性。 - **界面设计和代码逻辑分离**:为了提高开发效率和降低维护成本,...

    Equinox OSGi 开发

    1. **定义Bundle**:在Eclipse中创建一个新的Plugin项目,并在MANIFEST.MF文件中指定Bundle-SymbolicName、Bundle-Version等属性。 2. **实现服务**:Bundle可以通过实现接口来提供服务,这些服务会被注册到OSGi服务...

    自己动手写Struts.pdf

    - **在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-...

    springmybatis

    MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之...在 IUserOperation 接口中增加方法:public List...

    新版Android开发教程.rar

    � 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 ...

Global site tag (gtag.js) - Google Analytics