`

Eclipse 插件开发 常用知识梳理

 
阅读更多
==================
1.得到Eclipse安装目录(eclipse.exe所在的目录)绝对路径:
Platform.getInstallLocation().getURL().getPath().substring(1);

2.得到项目中资源路径(常用的比如图片等)
e.g.:getPluginResourcePath(“org.xxxx.xxx.xx.pluginId”,"icons/xxx.jpg");//就可以得到图片的绝对路径了

public static String getPluginResourcePath(String pluginId, String relativePathName) {
  try {
   Bundle bundle = Platform.getBundle(pluginId);
   URL url = bundle.getResource(relativePathName);
   if (url != null) {
    return FileLocator.toFileURL(url).getPath().substring(1);
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
  return null;
 }

3.得到Eclipse的工作空间
(1)得到工作空间路径
org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();

(2) 得到工作空间中的项目
IProject[] pros=ResourcesPlugin.getWorkspace().getRoot().getProjects();

4.缓存资源相关,包括字体、颜色、图像等
org.eclipse.jface.resource.JFaceResources
(1)FontRegistry fontRegistry=JFaceResources.getFontRegistry();//注册字体,用于缓存
 fontRegistry.put(key, new FontData[] { new FontData(fontName, height, style) });//填充数据
(2)ColorRegistry colorRegistry = JFaceResources.getColorRegistry();//注册颜色
    colorRegistry .put(key, new RGB(red, green, blue));
(3)ImageRegistry imageRegistry = JFaceResources.getImageRegistry();
  //Image image = new Image(Display.getDefault(), fullPathString);
  // ImageDescriptor descriptor = ImageDescriptor.createFromImage(image);

    ImageDescriptor descriptor = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, imageFilePath);
    imageRegistry .put(key, descriptor);
-----

Image的渐变效果:color1/color2是提供的原始颜色
Image image = new Image(null, width, height);
   GC gc = new GC(image);
   gc.setForeground(color1);
   gc.setBackground(color2);
   gc.fillGradientRectangle(0, 0, width, height, true);//设置有颜色梯度的效果
   gc.dispose();

---------------------------------
5.Eclipse编辑器Editor相关:
IWorkbenchPage page =PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

(1) IEditorPart part=IDE.openEditor(page, input, editorId);//通过page,input,和editorID 打开并获得EditorPart

(2)part = IDE.openEditor(page, input);//打开默认编辑器

(3)通过文件打开对应的编辑器
IPath path = new Path(filePath);
IFileStore fileStore = EFS.getLocalFileSystem().getStore(path);
part = IDE.openEditorOnFileStore(page, fileStore);

6.Eclipse视图相关的

(1)page.findView(viewId)//通过ID找视图

(2)page.showView(viewId)//视图显示

(3)IViewReference viewRef = page.findViewReference(viewId);

    page.hideView(viewRef);//视图隐藏

7.Eclipse中透视图转换
  IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
  IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
  page.setPerspective(reg.findPerspectiveWithId(perspectiveID));//perspectiveID为所要转换透视图的ID


8. 通过反射给菜单区域添加背景色
public void setMenuBG(Color bgColor) {
  Menu menu = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().getMenuBar();

 //反射的好处,只需要知道方法名及参数类型就可以调用

  invoke("setBackground", menu, new Class[] { Color.class }, new Color[] { bgColor });

 }

 Object invoke(String methodName, Object object, Class<?>[] argsTypes, Object[] args) {
  Object result = null;
  try {
   Method m = object.getClass().getDeclaredMethod(methodName, argsTypes);
   m.setAccessible(true);
   result = m.invoke(object, args);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return result;
 }
9.设置标题工具栏可见(可以动态设定)

WorkbenchWindow activeWorkbenchWindow = (WorkbenchWindow) PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 activeWorkbenchWindow.setCoolBarVisible(true); 


10.
分享到:
评论

相关推荐

    maven常用知识整理

    以下是对"Maven常用知识整理"的详细阐述: 1. **项目依赖管理**:Maven通过pom.xml文件来管理项目的依赖关系,使得开发者可以声明项目需要的库,Maven会自动下载并管理这些库。依赖的版本冲突问题,Maven会按照一定...

    eclipse方面的一些资料整理

    Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java开发领域,它以其强大的功能、丰富的插件生态和高度的可扩展性赢得了程序员的青睐。Eclipse不仅支持Java,还可以通过安装不同插件来支持C++、Python等...

    eclipse 入门级资料打包

    三、Eclipse插件与扩展 1. 安装插件:Eclipse拥有丰富的插件生态系统,如Mylyn用于任务管理,Subversive或Git用于版本控制。学习如何通过Eclipse Marketplace安装和配置这些插件。 2. Maven集成:了解如何在...

    eclipse使用maven整理文档.rar_captured7ne_eclipse mavenhelper_maven

    7. Maven Helper的使用:展示如何利用这个Eclipse插件分析和优化项目的依赖关系。 8. 实战案例:提供实际项目中的示例,演示如何在Eclipse中使用Maven进行项目构建和文档生成。 通过这份文档,读者将能够深入理解并...

    Eclipse中文教程.pdf

    以上是根据《Eclipse中文教程》的部分内容整理出的关键知识点,涵盖了Eclipse的基本概念、核心功能以及Java程序开发的具体步骤。通过这些知识点的学习,可以帮助初学者快速掌握Eclipse的使用技巧,提升开发效率。

    比较全面的Eclipse配置详解

    以上是Eclipse配置的一些核心知识点,掌握这些配置可以帮助开发者更加高效地利用Eclipse这一工具进行软件开发。根据个人和项目的需求,可能还会需要更多的个性化配置。在进行配置时,应该熟悉Eclipse的偏好设置界面...

    Eclipse教程

    ### Eclipse 整合开发工具教程知识点详述 #### 一、Eclipse 简介 **1.1 历史背景** Eclipse 是一款开源的集成开发环境(Integrated Development Environment,IDE),最初由 IBM 开发,并于 2001 年 11 月发布。...

    我的资源整理+开发插件

    此外,“常用的一些插件”可能指的是针对特定开发环境(如Visual Studio Code、IntelliJ IDEA或Eclipse)的扩展插件,这些插件能提升开发效率,比如自动格式化代码、智能提示、错误检查等。 根据“标签”,我们可以...

    Java知识梳理.doc

    接下来,通过深入学习 Eclipse 集成开发环境,包括其安装、使用、调试功能以及插件扩展,为后续的 Java 开发打下坚实基础。Eclipse 提供的强大功能和高度可定制性,使得它成为 Java 开发者的重要工具。

    eclipse中文学习教程

    ### Eclipse中文学习教程知识点梳理 #### 一、Eclipse简介 **1.1 历史背景** - **起源与发展**:Eclipse最初由IBM公司于2001年发布,是一个开源集成开发环境(IDE),旨在为软件开发者提供一个灵活、可扩展的平台...

    xiaobao---java开发编程笔记整理

    【标题】"xiaobao---java开发编程笔记整理"是一份由xiaobao编写的关于Java开发的综合学习资料,其中涵盖了Eclipse集成开发环境、Struts、Hibernate和Spring等多个关键技术和框架。这些技术在Java开发领域中占据着...

    Eclipse中文版教程 中文简体 288页

    - Eclipse通过插件机制扩展了其功能,使其能够适应不同的开发需求。 #### 1.3 Eclipse版本介绍 - Eclipse有多个版本,包括针对不同编程语言和特定应用的版本。 - 例如,Eclipse Classic是最常见的版本,适合Java...

    Eclipse中文教程

    ### Eclipse中文教程知识点详解 ...以上是根据《Eclipse 中文教程》文档整理出的知识点概述。Eclipse 作为一款强大的集成开发环境,不仅支持 Java 开发,还提供了丰富的插件扩展能力,能够满足不同开发者的需求。

    我整理的java代码库,使用eclipse工程方式展现

    它采用Eclipse工程的形式组织,使得用户可以轻松导入到Eclipse开发环境中进行查看和测试。下面将详细阐述其中可能包含的重要知识点: 1. **Java基础知识**:此代码库可能涵盖Java语言的基础语法,如数据类型、变量...

    Eclipse中文教程.doc

    ### Eclipse中文教程知识点详解 #### 一、Eclipse简介 **1.1 历史背景** Eclipse是由IBM在2001年发起的一个开源项目。最初它是为了支持Java开发而创建的,但随着时间的发展,它已经演变成一个通用的开发平台,...

    Eclipse入门

    随着时间的发展,Eclipse逐渐成为了一个非常强大的开源集成开发环境(IDE),支持多种编程语言,并且可以通过插件的形式进行扩展,满足不同开发者的需求。 **1.2 开放源代码软件** Eclipse作为一个开源项目,其...

    eclipse全面教程

    ### Eclipse全面教程知识点详解 #### 一、Eclipse概述与历史背景 - **Eclipse**:Eclipse是一款开源的、可扩展的集成开发环境(IDE),适用于多种编程语言,包括但不限于Java、C/C++等。 - **历史背景**:Eclipse...

    eclipse配置

    9. **插件安装**:Eclipse的可扩展性很强,通过安装各种插件可以支持不同语言(如C++、Python)的开发,或者增强编辑器功能,如代码提示、错误检查等。 10. **版本控制系统集成**:Eclipse可以集成Git、SVN等版本...

Global site tag (gtag.js) - Google Analytics