eclipse FAQ

1. eclipse的含义?

2. import 已经存在package时候报错?

3. import 自定义package时候报错?

4. extension-point schema怎么用的?

5. extension callback object是如何初始化的?

6. extension-point 和 extension point 区别是什么?

 

1.  eclipse mark 的含义:

eclipse outline 里面,仔细看还是挺有意思的:

红色:private

绿色:public

黄色:protected

蓝色:default, friendly, packeage internal use

方法边的小三角:此方法继承自基类

s: static

f: final

 

2. import 的项目,如果某些java文件的import org.eclipse.jface.* 报错,或者import org.eclipse无法解析,怎么办?

检查一下该项目的MANIFEST.MF, 格式应该类似下面这样:

Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime,
 org.eclipse.core.resources,
 org.eclipse.jdt.core,
 org.eclipse.jdt.ui

当然,如果直接更改项目属性-java build path - library ,add external library也可以。但是注意,不能两处地方同时引入同一个包。

3. import 自定义package时候报错?

自定义了接口在package1, 需要在package2里面import package1, 怎么办?

1. 被依赖的package1(在其他包被import的package)要导出自己。menifest.mf->runtime->Exported Package, select this package.
2. 依赖其他package的package2要在自己的menifest.mf-> Dependency-> Required Plug-ins-> add 需要import的包。
3. Alt+'/' : 自动补齐import内容。

4. extension-point schema怎么用的?

用来定义使用该extension-point的extension,具体是怎么使用extension-point的。具体可以参考另外一篇"extension-point schema解读"

5. extension callback object是如何初始化的?

首先,extension callback object是和extension定义文件(plug-in.xml)里面的每个xml element相对应的。不同的element会初始化各自的callback object instance。正常情况下,extension class要implements IExecutableExtension接口。并且通过public Object IConfigurationElement.createExecutableExtension(String propertyName) 初始化callback object。这是instantiating , 那么initializing 呢?

因为createExecutableExtension()会调用setInitializationData(), 所以可以重写该函数,通过该函数将plug-in.xml中定义的参数,通过IConfigurationElement member.getAttribute(POWER_ATTRIBUTE), 将plug-in.xml文件中的参数,赋给callback object所在类的private member。

6. extension-point 和 extension point 区别是什么?

在plug-in.xml文件里,首先定义的是类似这样的extension-point:

<extension-point  id = "paletteTool" name = "My paletteTool" shcema = "schema/paletteTool.exsd">

这表示该plug-in定义的extension point, 是这个plug-in暴露出来的接口。

plug-in.xml文件后半部分,能看到类似这样的extension point定义:

<extension point = "org.eclipse.ui.actionSets">

             <actionSet id = "fdsalkfj"  等等。

这实际表示的是一个extension,该extension 的point为"org.eclipse.ui.actionSets".

所以,extension和extension- point都在plug-in.xml文件里定义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值