定制Eclipse IDE之功能篇(一)

上文回顾:定制Eclipse IDE之界面篇

 

这一篇文章将记录一些Eclipse插件拓展(extension),简单讲述常用拓展的用法,但可能不会那么详细。

我的主要插件的拓展如下:

 

一、org.eclipse.ui.startup

这一个拓展可以说很关键,他可以让我们在eclipse启动时候做一些事件(之后很多小功能东西依靠它做的)。

XML配置:

<extension
     point="org.eclipse.ui.startup">
  <startup
          class="com.bingo.start.BTStart">
  </startup>
</extension> 

对应实现类:

public class BTStart implements IStartup
{
     public BTStart()   {  }

     public void earlyStartup() {

          //无关UI的代码可写这里

          Job job = new UIJob("") {

               public IStatus runInUIThread(IProgressMonitor monitor) {
                    try {

                         //涉及到UI的代码写这里,不然将操作不了
                    } catch (ExecutionException e) {
                         e.printStackTrace();
                         return Status.CANCEL_STATUS;
                    }
                    return Status.OK_STATUS;
               }

          };
          job.schedule(300L); //300ms后执行

     }
}

 

二、org.eclipse.ui.newWizards

这个是向导拓展。就类似新建项目,然后下一步下一步的操作。

在这里我用来做新建应用模板的工程,在向导拓展里面实现应用模板生成。

XML配置:

<extension
     point="org.eclipse.ui.newWizards">
     <category
        id="bt_project"
        name="%category.name">
     </category>
     <wizard
          category="bt_project"
          class="com.bingo.perspective.ui.wizards.BTProjectWizard"
          finalPerspective="com.bingo.ide.perspective"
          icon="icons/eclipse16.png"
          id="com.bingo.perspective.wizards.BTProjectWizard"
          name="%projcet.name"
          project="true">
     </wizard>
</extension>

对应实现类:

public class BTProjectWizard extends Wizard implements INewWizard{
} 

具体代码就不显示,BTProjectWizard 只是一个容器,他还需要添加WizardPage进去。

 

另外可以将向导拓展添加到右键菜单上。

XML配置如下:

<extension
     point="org.eclipse.ui.navigator.navigatorContent">
  <commonWizard
          associatedExtensionId="org.eclipse.ui.navigator.resourceContent"
          type="new"
          wizardId="com.bingo.perspective.wizards.BTProjectWizard">
     <enablement>
     </enablement>
  </commonWizard>
</extension>

 

三、org.eclipse.ui.menus

单独在菜单栏添加项。

例如:我添加一个同步菜单

XML配置:

<extension
     point="org.eclipse.ui.menus">
  <menuContribution
          allPopups="false"
          locationURI="menu:help?before=org.eclipse.equinox.p2.ui.sdk.install">
       <command
             commandId="com.bingo.perspective.ui.SyncHandler"
             label="同步BingoTouch模板"
             style="push">
     </command>
  </menuContribution>
</extension>
<extension
     point="org.eclipse.ui.commands">
   <command
          defaultHandler="com.bingo.perspective.ui.handler.SyncHandler"
          id="com.bingo.perspective.ui.SyncHandler"
          name="同步BingoTouch模板">
  </command>
</extension> 

实现类:

public class SyncHandler extends AbstractHandler
{

     public SyncHandler()
     {
     }

     public Object execute(ExecutionEvent event)
          throws ExecutionException
     {
          //检查模板版本
          SyncResource.start();
          return null;
     }
}

 

四、org.eclipse.ui.perspectives

定义透视图

XML配置:

<extension
     point="org.eclipse.ui.perspectives">
  <perspective
          class="com.bingo.perspective.BingoTouchPerspective"
          fixed="true"
          icon="icons/eclipse16.png"
          id="com.bingo.ide.perspective"
          name="%perspective.name">
  </perspective>
</extension>

实现类:实现类内容就是对视图的布局,在第一篇文章里面有写。

 

五、org.eclipse.ui.actionSets

定义操作动作,可以放置到菜单栏或工具栏上。

XML配置:

<extension
     point="org.eclipse.ui.actionSets">
    <actionSet
          label="BingoTouch Action Set"
          visible="true"
          id="com.bingo.functions.actionSet">
          <menu
             label="%document.name"
             id="btDoc">
          <separator
                 name="btDocGroup">
          </separator>
          </menu>
          <action
               class="com.bingo.perspective.ui.actions.OnlineDocumentAction"
               icon="icons/icon/faq.png"
               id="btFAQ"
               label="%faqdoc.name"
               menubarPath="btDoc/btDocGroup"
               toolbarPath="btDocGroup"
               tooltip="%faqdoc.name">
          </action>
          <action
               class="com.bingo.perspective.ui.actions.OnlineDocumentAction"
               icon="icons/icon/uidoc.png"
               id="btUIDoc"
               label="%uidoc.name"
               menubarPath="btDoc/btDocGroup"
               toolbarPath="btDocGroup"
               tooltip="%uidoc.name">
          </action>
          <action
               class="com.bingo.perspective.ui.actions.OnlineDocumentAction"
               icon="icons/icon/apidoc.png"
               id="btApiDoc"
               label="%apidoc.name"
               menubarPath="btDoc/btDocGroup"
               toolbarPath="btDocGroup"
               tooltip="%apidoc.name">
          </action>
    </actionSet>
</extension>

里面menubarPath、toolbarPath操作按钮放或不放,放哪。

 

常用的拓展就先介绍到这里,目的是希望大家知道有这东西,而不是具体怎么实现。

 

本文为原创文章,转载请保留原出处,方便溯源,如有错误地方,谢谢指正。
本文地址 :http://www.cnblogs.com/lovesong/p/4693666.html

转载:http://www.cnblogs.com/lovesong/p/4693666.html

时间: 2024-09-19 10:12:30

定制Eclipse IDE之功能篇(一)的相关文章

定制Eclipse IDE之功能篇(二)

这一篇文章将记录一些Eclipse插件小功能,Smart but Useful.   一.设置工作空间 文本文件的编码   解决办法: 在org.eclipse.ui.startup拓展里执行这一句(只需执行一次): ResourcesPlugin.getPlugin().getPluginPreferences().setValue("encoding", "UTF-8");   二.默认显示行号   解决办法: 在org.eclipse.ui.startup拓展

定制Eclipse IDE之插件篇(一)

上文回顾:定制Eclipse IDE之功能篇(二) 在这篇文章中,我会将我定制eclipse用到的其他插件罗列出来. 一.汉化插件 Eclipse本身是英文显示的,我们能够通过插件汉化.  1. 选择对应的Eclipse版本. 下载地址:http://www.eclipse.org/babel/downloads.php 2. 选择需要下载的语言   3.解压后直接拷贝到Eclipse的dropins目录即可.   二.打开文件夹位置插件 点击工程或工程文件时候,可以直接打开目录位置. 下载地址

定制Eclipse IDE之杂症篇

上文回顾:定制Eclipse IDE之插件篇(二) 该篇将讲述在开发Eclipse 插件过程发生的疑难杂症.不谈功能,只说病症. 前言.拿哪个Eclipse作为定制的基础? 我建议是你用哪个Eclipse做开发,就使用那个Eclipse作为定制的基础,因为你的插件是在这上面开发的,决对不会出现缺少必要的依赖插件.如果觉得有些插件没必要的话,也自行删除.   一.插件存在缓存的现象 在开发插件的时候,有时会存在缓存了上一次运行插件结果的现象. 解决办法: 1.在run configurations

定制Eclipse IDE之插件篇(二)

上文回顾:定制Eclipse IDE之插件篇(一) 延续上一篇的插件篇,这一篇将会讲到一个最关键的插件aptana. 一.aptana插件 官方的解释我就不说了,从下面图可以看到插件提供了什么功能,列举一些我觉得重要的. 1. Contnet Assist : 代码提示 2. Editors:5种文件编辑器 3. Themes : 主题 4. Validation : 代码校验 提供这几点能力直击我eclipse前端开发的要害,就决定使用,下面是我对aptana做的一些调整.   1. 下载ap

定制Eclipse IDE之界面篇

为什么要定制IDE?      在工作时候,当公司有了自己的框架,给自己开放人员用,甚至是可以卖的时候,我们可以做成一个产品,而这个产品将包括框架本身.文档.工具.教程等等.工具之中最重要的莫过于开发工具(IDE).调试工具.      我在公司里面做的是一个hybrid框架,而一个配套的IDE是比不可少的,主要用来开发HTML5.这个IDE可以算是框架东西的聚合,可以将在线文档.工程模板.打包调试等功能都揉合在IDE.当我们提供给开发者东西时,我们只需要提供一个IDE,里面已经包含所有框架的东

《Java和Android开发实战详解》——2.4节Eclipse IDE的项目管理与使用

2.4 Eclipse IDE的项目管理与使用 Java和Android开发实战详解 一个Eclipse的工作空间可以同时拥有多个项目,在Eclipse IDE可以切换不同的工作空间,对于已有的Java项目或Java程序文件,我们可以直接导入到目前打开的工作空间或项目. 2.4.1 切换工作空间 step01Eclipse的工作空间中可以新增项目,但不能打开非此工作空间的其他项目,不过,我们可以将当前工作空间切换成其他工作空间.例如,本书每一章的范例都对应有一个工作空间,我们可以在打开第2章工作

在Windows系统和Eclipse IDE集成环境下使用Java进行HBase客户端编程

本文以HBase 0.90.2为例,介绍如何在Windows系统,Eclipse IDE集成环境下,使用Java语言,进行HBase客户端编程,包含建立表.删除表.插入记录.删除记录.各种方式下的查询操作等. 1. 准备工作 1.下载后安装jdk包(这里使用的是jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008): 2.下载eclipse,解压到本地(这里使用的是eclipse-java-helios-SR2-win32): 3.下载HBase包,解压

使用定制Eclipse信息中心为IT解决方案编制文档,第2部分

第2部分: 提升您捕捉和重用内容的能力 概述 在 使用定制 Eclipse 信息中心为 IT 解决方案编制文档,第 1 部分:创建您的第一个信息中心 中,您创建了自己的第一个解决方案信息中心,内含一个文件.在掌握了基础知识后,您就可以开始学习加速内容库内的文档的积累的技巧了,首先要做的是导入一个满载内容的示例解决方案信息项目. 从另外一个工具箱的用户导入内容 积累内容的第一种快捷途径是导入由其他用户创建的解决方案信息项目.若您的团队中有任何人捕捉到内容,那么团队中的所有人均可重用此内容.导入一个

Linux Eclipse代码提示功能设置(Java &amp;amp; C/C++)

最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示,于是在网上搜索了一些文章,整理出关于Eclipse代码提示功能设置的方法.   Java: 增强Eclipse 的代码提示功能,具体怎么样来配置?下面开始说步骤: 1. 打开Eclipse,然后"window"→"Preferences" 2. 选择"java