`

最近的Eclipse plugin开发总结

阅读更多

List控件没有提供addDblClickListener方法,如果要处理双击事件,则需要这样处理:

 

java 代码

  1. list.addListener(SWT.MouseDoubleClick, new Listener() {   
  2.    public void handleEvent(Event event) {   
  3.     System.out.println(event);   
  4.    }});  

在WizardPage中要实现想到的前进和后退需要这么使用
((WizardDialog)getWizard().getContainer()).showPage(getNextPage());
而不能简单的通过wizardPage的setVisibile()来设置可见和不可见

ed.getCommandStack().execute(command);和command.execute()是有区别的,前者会告诉editor当前的EditorInput已经发生改变,而后者不会

在保存emf模型的时候,遍历每一个emf节点,都会执行org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID该方法
保存属性执行org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveDataTypeSingle(EObject o, EStructuralFeature f)该方法

如何定义扩展点
我们可以给插件定义扩展来增加插件的灵活性,满足用户的定制要求.
每一个扩展点都必须包括一个唯一标识符用来标识当前定义的扩展点,在使用扩展点的时候的扩展点id就是插件全限定+这个唯一标识符,而且每一个扩展点都会关联一个schema文件,该文件用来告诉用户如何使用该扩展点,不过该schema文件不是必须的,但是他可以为我们定义的扩展点进行验证并自动生成相关的文档信息,schema文件以<extension-point-id></extension-point-id>.exsd的格式存放在插件所在目录的schema文件夹下
图片文件之类的,在定义扩展点属性的时候,必须将其kind属性设置为resource,而如果是java类的话,则需要将kind属性设置为java

Display.syncExec() and asyncExec()方法的区别,前者是同步执行,这里的"步"可以理解是管道,也就是在一个管道中挨个执行线程(当前线程+指定线程),后者是异步执行,也就是它可以另起一个管道来执行指定的线程.syncExec在指定的线程执行完毕之后才返回,asyncExec无论指定的线程是否结束都返回到当前的线程

获得IWorkBenchWindow的方法:
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();

得到pluginId要这么用:
CommonPlugin.getDefault().getBundle().getSymbolicName()

根据pluginId得到一个bundle
Bundle bundle = Platform.getBundle(pluginId);

通过调用Display.getCurrent()来知道当前线程是否是UI线程。如果Display.getCurrent()返回为空,表示当前不是UI线程。只有一个UI线程,其他的都是非UI线程

Job的join方法表示当前job执行完成之后再执行job后面的代码,否则这个顺序是无序的

在非UI线程中调用UI线程会抛出SWTException异常,要解决这个问题需要使用Display.syncExec()或者asyncExec()方法,还有一种解决方法就是用时UIJob,不过必须复写runInUIThread()方法,将逻辑代码放在该方法中执行而不是run()方法中

打开对话框查找多个制定类型的文件可以参考org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.openExtJarFileDialog()方法

java.lang.VerifyError: (xxx) Wrong return type in function问题的解决
一般出现这种错误是由于java complier和jre的版本不一致导致的,一般在升级的时候很容易碰到,比如有时候指定在java 1.4下编译,但是实际上我们的程序在java5.0下跑
还有一种可能就是升级之后,原来的类已经从一个包里面移动到另外一个包下面了,而加载classpath的时候存在两份

跟踪键盘事件的时候, 在该方法下加断点void org.eclipse.swt.widgets.TypedListener.handleEvent(Event e)

对于显示tooltip提示信息需要在void org.eclipse.swt.widgets.TypedListener.handleEvent(Event e)中监听SWT.MouseHover类型的事件

aptana js editor中的提示信息的获得通过com.aptana.ide.editors.unified.hover.LexemeTextHover.getHoverInfo(ITextViewer textViewer, IRegion hoverRegion)
取得

在aptana中对文档的分割使用到Lexme的概念, 而所有的提示, 自动提示功能都是建立在Lexme的基础上的

aptana加载内容提示配置文件在com.aptana.ide.editor.js.JSLanguageEnvironment中实现

向日志中添加一条出错信息:
IStatus status = new Status(IStatus.ERROR,
  "org.eclipse.jface", //$NON-NLS-1$
  0, message, new Exception());
Policy.getLog().log(status);

IWorkspace ws = ResourcesPlugin.getWorkspace();用来取得workspace对象

分享到:
评论

相关推荐

    eclipse插件开发指南.pdf

    ### Eclipse插件开发指南知识点概览 #### 一、Eclipse概述 **1.1 Eclipse简介** - **1.1.1 Eclipse的历史背景** - Eclipse最初由IBM于2001年11月发布,版本号为1.0。 - 随着时间的发展,Eclipse逐渐成为了一个...

    hadoop-eclipse-plugin-1.1.2

    总结来说,Hadoop Eclipse Plugin 1.1.2是Hadoop开发者的得力助手,通过它,开发者可以在熟悉的Eclipse环境中高效地进行Hadoop应用开发,提升工作效率,减少出错几率。无论是初学者还是经验丰富的开发者,都能从中...

    hadoop-eclipse-plugin-2.6.0.jar

    总结来说,Hadoop Eclipse Plugin 2.6.0作为Hadoop与Eclipse之间的桥梁,显著提高了Hadoop应用的开发效率,使得开发者能够更专注于业务逻辑的实现,而非环境配置和运维工作。对于需要处理大量数据的企业或个人开发者...

    hadoop-eclipse-plugin-2.6.0.jar.zip_2.6.0_hadoop_hadoop plugin

    总结,Hadoop Eclipse Plugin 2.6.0是Hadoop开发中的得力助手,它简化了开发流程,增强了调试功能,使得开发者能够更专注于业务逻辑的实现,提高了开发效率和质量。对于Hadoop初学者和专业开发者来说,熟练掌握并...

    Flex + LCDS + Java 利用Eclipse Plugin开发Flex入门教程

    【Flex + LCDS + Java 利用Eclipse Plugin开发Flex入门教程】 Flex是一种基于Adobe Flash技术的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建交互式、响应式的用户界面,通常与后端数据服务配合...

    eclipse插件开发常用技巧

    总结起来,Eclipse插件开发涵盖了项目管理、工作空间操作、代码编辑导航、用户界面交互等多个方面。掌握这些技巧不仅能提高开发效率,还能优化插件的用户体验。在实际开发过程中,开发者还需要了解Eclipse插件生命...

    hadoop2x-eclipse-plugin

    总结来说,Hadoop2x-eclipse-plugin是Hadoop开发者不可或缺的工具,它简化了在Eclipse中的Hadoop开发流程,使得开发者能够更加专注于代码逻辑,提高开发效率。通过熟练掌握这个插件的使用,可以更好地驾驭Hadoop,...

    hadoop-eclipse-plugin-2.7.5

    总结来说,Hadoop Eclipse Plugin 2.7.5是MapReduce开发者不可或缺的工具,它有效地将Hadoop的分布式环境与Eclipse的强大开发能力结合在一起,让开发者能够更高效地编写、测试和优化MapReduce程序,从而在大数据处理...

    hadoop-eclipse-plugin-2.2.0.zip

    总结起来,Hadoop Eclipse Plugin 2.2.0是Hadoop开发者不可或缺的工具,它将强大的Eclipse IDE与Hadoop的分布式计算能力紧密结合,极大地简化了开发流程,提高了开发效率。无论是初学者还是经验丰富的开发者,都能...

    Maven+Eclipse plugin

    总结来说,"Maven+Eclipse plugin"是Java开发的强大组合,它简化了项目管理和开发过程,提高了团队协作效率。通过合理使用Maven和Eclipse插件,开发者可以更专注于代码编写,而非项目配置与依赖管理。而文件"eclipse...

    red5-eclipse-plugin-master.zip

    总结,Red5 Eclipse Plugin Master是Red5开发者不可或缺的工具,它通过集成开发环境的强大功能,让Red5项目的开发、调试和部署变得更加高效和便捷。理解并熟练掌握这款插件的使用,将有助于提升开发者在流媒体应用...

    Eclipse Plugin Development CN

    总结一下,Eclipse插件开发涉及以下关键知识点: 1. Eclipse插件架构和OSGi框架。 2. 使用Eclipse IDE for RCP and RAP Developers以及PDE工具集。 3. 插件的元数据定义(如plugin.xml)和实现类编写。 4. 通过源码...

    hadoop2x-eclipse-plugin-master

    总结来说,Hadoop2x-eclipse-plugin-master是Hadoop开发者的得力助手,它通过与Eclipse的深度集成,提供了一站式的开发解决方案,简化了Hadoop项目的开发流程,降低了入门门槛,提升了开发效率。对于想要涉足Hadoop...

    hadoop-eclipse-plugin-2.6.0.

    Hadoop Eclipse Plugin 2.6.0为Hadoop开发提供了强大的集成开发环境,简化了开发流程,提高了开发效率。通过使用该插件,开发者可以在熟悉的Eclipse环境中,轻松地进行Hadoop项目的开发、调试和部署,从而更好地...

    GlassFish Eclipse Plugin

    1. 集成开发:GlassFish Eclipse Plugin提供了与Eclipse无缝集成的开发环境,允许用户在Eclipse内部创建、编辑、构建和调试Java EE项目,无需离开IDE就能完成整个开发流程。 2. 应用服务器管理:插件支持远程和本地...

    hadoop-eclipse-plugin-2.7.5.rar

    总结来说,Hadoop Eclipse Plugin 2.7.5是Hadoop开发者不可或缺的工具,它让Hadoop的开发过程变得更加便捷和高效。通过熟练掌握这款插件的使用,开发者可以更好地发挥Hadoop的优势,处理大规模的数据问题,推动...

    odps-eclipse-plugin-bundle-0.16.0.zip

    总结起来,"odps-eclipse-plugin-bundle-0.16.0.zip"是一个用于Eclipse的ODPS开发工具,它使得在Eclipse中开发、测试和管理ODPS项目变得更加简单和直观。通过这个插件,开发者可以利用MapReduce和SQL进行大数据处理...

    Visual Editor Eclipse Plugin

    总结来说,Visual Editor Eclipse Plugin是Swing开发者的一大福音,它将原本复杂、抽象的代码布局转换为直观的图形操作,极大地提升了开发体验和效率。如果你在进行Swing应用的开发,不妨尝试一下这个强大的工具,...

Global site tag (gtag.js) - Google Analytics