转自:http://blog.csdn.net/liaomin416100569/article/details/7165425

1.获取系统默认的Shell
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
2.获取其他的插件Activetor对象
Plugin p=Platform.getPlugin("org.liaomin.huqun.ftptool");
3.获取某个插件的首选项
String name=Platform.getPlugin("插件id").getPluginPreferences().getString("首选项的key值");
4.获取工作空间的根目录
ResourcesPlugin.getWorkspace().getRoot()
5.获取某个IJAVAProject
ResourcesPlugin.getWorkspace().getRoot().getProject("工程名")
6.将IProject转换IJAVAProject
IJavaProject create = JavaCore.create(p);
7 通过路径寻找对应的资源
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

IResource resource = root.findMember(new Path(srcPath));//srcPath类似与linux /工程名/目录/子目录

8重启工作空间

PlatformUI.getWorkbench().restart();

8查找某个透视图

PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(透视图id);

9 获取帮助信息

PlatformUI.getWorkbench().getHelpSystem()

10通过IFILE转换JDT对象

IJavaElement create(IFile file):从文件创建对应的Java元素。
IJavaElement create(IFolder folder):从文件夹创建对应的Java元素。
IJavaProject create(IProject project):得到IProject对应的IJavaProject。
IJavaElement create(IResource resource):从资源创建对应的Java元素。
IJavaModel create(IWorkspaceRoot root):从工作空间根目录得到对应的IJavaModel。
IClassFile createClassFileFrom(IFile file):从文件创建对应的IClassFile。
ICompilationUnit createCompilationUnitFrom(IFile file):从文件创建对应的ICompilationUnit。

eclipse插件开发中全局对象的获取的更多相关文章

  1. Eclipse插件开发中对于Jar包和类文件引用的处理(彻底解决插件开发中的NoClassDefFoundError问题)(转)

    目的:Eclipse插件开发中,经常要引用第三方包或者是引用其他插件中的类,由于插件开发环境引用类路径的设置和运行平台引用类路径的设置不同,经常导致开发过程OK,一旦运行则出现NoClassDefFo ...

  2. Eclipse插件开发中的选择监听机制(Selection Provider-Listener)

    Eclipse插件开发中的选择监听机制(Selection Provider-Listener) 监听机制是eclipse插件开发或rcp应用开发中经常使用的技术,比方点击TableViewer或Tr ...

  3. 从汇编看c++中全局对象和全局变量

    先来看c++源码: #include <iostream> using namespace std; class X { public: int i; public: X() : i(ii ...

  4. eclipse代码中使用到Launcher获取类加载器,找不到启动器类。

    解决:移除系统依赖的jar包,重新导入. 只需要在project build path中先移除JRE System Library,再添加库JRE System Library,重新编译后就一切正常了 ...

  5. Eclipse插件开发中File和IFile的转换

    (1) File转IFile 第一种方法: IFile[] ifile = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocationU ...

  6. JavaScript中两种类型的全局对象/函数

    这里所说的JavaScript指浏览器环境中的包括宿主环境在内的. 第一种是ECMAScript Global Object,第二种是宿主环境(Host)下的全局对象/函数. 一.核心JavaScri ...

  7. JavaScript中两种类型的全局对象/函数【转】

    Snandy Stop, thinking is the essence of progress. JavaScript中两种类型的全局对象/函数 这里所说的JavaScript指浏览器环境中的包括宿 ...

  8. vue-cli2.X中引入高德地图,将其设为全局对象

    平时一般未用脚手架构建或用webpack构建的项目只要用script标签引入即可,在vue-cli 2.X构建的项目中,需要用如下方式引入高德地图: 首先在高德地图开放平台中注册开发者账号并获取key ...

  9. Winform中怎样跨窗体获取另一窗体的控件对象

    场景 Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/de ...

随机推荐

  1. leetcode 121

    121. Best Time to Buy and Sell Stock Say you have an array for which the ith element is the price of ...

  2. 逻辑回归的分布式实现 [Logistic Regression / Machine Learning / Spark ]

    1- 问题提出 2- 逻辑回归 3- 理论推导 4- Python/Spark实现 # -*- coding: utf-8 -*- from pyspark import SparkContext f ...

  3. Java设计模式(Design Patterns In Java)读书摘要——第1章 绪论

    为何需要模式 模式是做事的方法,是实现目标,研磨技术的方法.通俗点说,模式是为了解决某个行业的某个问题的有效的方法或技艺. 为何需要设计模式 为了提升代码的水准,是代码变得简洁而易用.模式是一种思想, ...

  4. 对象之间的引用传递 之 .NET中的深拷贝和浅拷贝

    1.场景 首先,场景是这样的. 有一个Person类,类中有一个类型是Car的属性.用于表述,人开的车. Car类中有一些描述诸如汽车拼盘之类的属性.基本场景就是这样.   2.浅拷贝 Person ...

  5. php-resque学习笔记二(配置)

    1:前提 系统:CentOS PHP版本:PHP7     安装目录:/usr/local/php php-resque          安装目录:/home/software/php-resque ...

  6. centos6.5下yum安装lnmp(适合刚入职的新手的方法)

    新入职的员工,开始的时候都是让配环境,本地写代码用的wamp,在lnmp或lamp测试,除非有些土豪公司 用的是(果机). 另外安装时,把整个流程在脑子里先过一篇(记不全也没关系,一回生二回熟),重在 ...

  7. Asp.net从文件夹中读取图片,随机背景图

    第一步:配置文件web.config里添加 <system.web><connectionStrings> <!--name 是自定义的,connectionString ...

  8. linux资源监控命令详解

    Linux统计/监控工具SAR详细介绍:要判断一个系统瓶颈问题,有时需要几个 sar 命令选项结合起来使用,例如: 怀疑CPU存在瓶颈,可用 sar -u 和 sar -q deng 等来查看 怀疑内 ...

  9. Delphi 的运算符列表

    分类 运算符 操作 操作数 结果类型 范例 算术运算符 + 加 整数,实数 整数,实数 X + Y - 减 整数,实数 整数,实数 Result - 1 * 乘 整数,实数 整数,实数 P * Int ...

  10. SQLite数据库管理的相关命令

    1.创建数据库 启动命令行,通过输入如下命令打开Shell模式的CLP: sqlite3 test.db 虽然我们提供了数据库名称,但如果该数据库不存在,SQLite实际上就未创建该数据库,直到在数据 ...