`

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配置详解

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

    我的资源整理+开发插件

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

    Java知识梳理.doc

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

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

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

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

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

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

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

    Eclipse中文基础操作教程 pdf

    ### Eclipse中文基础操作教程知识点详解 #### 一、Eclipse简介 **1.1 历史背景** ...以上内容覆盖了Eclipse中文基础操作教程的主要知识点,帮助开发者更好地理解和使用Eclipse这款强大的开发工具。

    Eclipse中文教程

    - **社区贡献:** Eclipse的成功很大程度上得益于全球开发者社区的贡献,包括代码贡献、文档编写、插件开发等。 **1.3 Eclipse版本介绍** - **版本迭代:** 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