jdt源码调测杂记

PackageExplorerPart 是个ViewPart,ViewPart是个WorkbenchPart.

WorkbenchPart里面有个ViewSite(IWorkbenchPartSite,PartSite),PartSite里面有个WorkbenchWindow,WorkbenchWindow里面有个WorkbenchPage,WorkbenchPage里有个IAdaptable的input是WorkSpaceRoot.

{aaa=P/aaa, org.eclipse.jdt.core=P/org.eclipse.jdt.core, org.eclipse.ui.workbench=P/org.eclipse.ui.workbench, org.eclipse.e4.ui.workbench.renderers.swt=P/org.eclipse.e4.ui.workbench.renderers.swt, .org.eclipse.jdt.core.external.folders=P/.org.eclipse.jdt.core.external.folders, Program Files=P/Program Files}

 

WorkSpaceRoot是个资源对象,属于ResourcePlugin管理的IResouce对象,这类对象有IFile,IFolder,IProject,IWorkspaceRoot。

 

JavaModelManager里存放了一个JavaModelCache的对象,其中缓存jdt相关javaelement的信息。

ProblemTreeViewer-》(后面为jface)TreeViewer-》AbstractTreeViewer-》ColumnViewer-》StructuredViewer-》ContentViewer-》Viewer

ProblemTreeViewer中有个ResourceToItemsMapper的功能,用来保存Iresource和item的上数据的对应关系。

TreeViewer为核心,其中包含一个tree的widget,先在根据contentviewer上是否有数据创建tree上的treeitem,然后将treeitem上的data以及其父类的item上的image和text通过查找labelprovider补齐信息。

PackageExplorerContentProvider将自身通过JavaCore.addElementChangedListener(),监听element变化。

JavaModelInfo,通过计算project是否还有javaNature来判断是否是javaproject.

tree的每一列都有一个TreeColumn(也是Item的子类),其中的data的数据是个数组,其中存放了ViewerColumn。

ColumnViewer中缓存了一个ViewerCell,作为一个显示单元,将这个cell中的TreeItem依据element在labelprovider中查找的image和text刷新。其中Decoration的作用可以在图片上叠加图片,字体可以叠加字体。

DecoratorManager会读取initializeDecoratorDefinitions插件注册的装饰信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先了解一下flexBuilder FlexBuilder 2.0 是建立在 eclipse 3.1基础上的 FlexBuilder 3.2.1 是建立在eclipse 3.2.1基础上的 所以要想支持vss 首先要准备eclipse 3.1 或者 eclipse3.2.1 就看你用什么版本的flexbuilder FlexBuilder 3使用 vss1.6.1; FlashBuilder 4使用 vss 1.6.2; 1. 下下载一个vss插件 最新版本是1.6.2 下载地址:http://sourceforge.net/projects/vssplugin/ (或者http://download.csdn.net/detail/ch_kexin/4925652) 放入 flexbuilder 目录的plugin 目录下 打开flexbuilder 很多人都会发现不能用 当然这也是让很多人忘而却步的地方 2. 为什么不能用? 原因是flexbuilder中 精简了eclipse 中的一些组建 ,vss插件又需要,怎么办? 刚准备的eclipse 就发挥了用处 下载一个eclipse (请下载对应的版本) 然后解开 将eclipse 的plugin 目录下的 org.eclipse.jdt.* 的目录和文件 全部拷贝到 flexbuilder 的plugin (若为myEclipse则是将myEclipse下eclipse\plugins) flashbuilder也一样 ----下面是在FlexBuilder中配置VSS ------- 1. 首先绑定项目到VSS。就算打开的项目是从VSS里获取的,第一次打开也需要手动绑定。选中图中最后一个菜单中的选项:Share Project进入新界面后,选中VSS Configuration Wizard进入如下界面。 2. 填上客户端用户名、密码、服务器端VSS目录、项目目录、项目在VSS里的目录。 VSS Repository supports multiple checkouts.不选,此项是VSS支持多人同时签出。根据实际情况决定是否选中。 3.单击Finish。配置VSS完毕。 4.配置完毕。 VSS配置完成后。项目并未与VSS有任何关联,此时需要 Update State来关联到VSS。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值