读者赞誉
译者序
序言一
序言二
前 言
第1章 使用Eclipse工具 1
1.1 起步 1
1.1.1 获取Eclipse 1
1.1.2 安装 2
1.2 Eclipse工作台 2
1.2.1 透视图、视图和编辑器 4
1.2.2 操作 7
1.3 设置Eclipse 9
1.3.1 工作台首选项 9
1.3.2 Java首选项 10
1.3.3 导入与导出首选项 11
1.4 创建项目 11
1.4.1 使用新建Java项目向导 12
1.4.2 .classpath和.project文件 13
1.4.3 使用Java包向导 14
1.4.4 使用Java类向导 14
1.5 导航 15
1.5.1 打开类型对话框 15
1.5.2 类型层次结构视图 16
1.5.3 转至行 16
1.5.4 大纲视图 16
1.5.5 快速访问 17
1.6 搜索 17
1.6.1 文件搜索 17
1.6.2 Java搜索 18
1.6.3 其他搜索菜单选项 19
1.6.4 工作集 19
1.7 编写代码 20
1.7.1 Java编辑器 20
1.7.2 模板 24
1.7.3 重构 25
1.7.4 本地历史记录 26
1.7.5 文件扩展名关联 28
1.8 使用CVS进行团队开发 29
1.8.1 开始使用CVS 30
1.8.2 从CVS中导出项目 30
1.8.3 与库同步 31
1.8.4 比较与替代资源 31
1.8.5 CVS标签装饰器 32
1.9 运行程序 33
1.9.1 启动Java程序 33
1.9.2 启动配置 34
1.10 调试简介 35
1.10.1 设置断点 35
1.10.2 使用调试视图 36
1.10.3 使用变量视图 36
1.10.4 使用表达式视图 36
1.11 测试简介 37
1.11.1 创建测试用例 37
1.11.2 运行测试用例 37
1.12 Mylyn简介 38
1.13 总结 41
参考文献 41
第2章 简单插件示例 42
2.1 收藏夹插件 42
2.2 创建插件项目 42
2.2.1 新建插件项目向导 42
2.2.2 定义插件 42
2.2.3 定义视图 43
2.3 评审生成代码 44
2.3.1 插件清单 44
2.3.2 启动器或插件类 48
2.3.3 收藏夹视图 50
2.4 构建产品 52
2.4.1 手动构建 52
2.4.2 使用Apache Ant构建 53
2.5 安装并运行产品 56
2.6 调试产品 56
2.6.1 创建配置文件 56
2.6.2 选择插件和片段 57
2.6.3 启动运行时工作台 58
2.7 PDE视图 58
2.7.1 插件注册表视图 58
2.7.2 插件视图 58
2.7.3 插件依赖项视图 59
2.7.4 插件手动搜索 59
2.7.5 插件探测器 59
2.8 编写插件测试 60
2.8.1 测试准备 60
2.8.2 创建插件测试项目 60
2.8.3 创建插件测试 60
2.8.4 运行插件测试 63
2.8.5 卸载收藏夹插件 64
2.9 本书示例 64
2.10 总结 65
参考文献 65
第3章 Eclipse基础结构 66
3.1 结构概述 66
3.1.1 插件结构 67
3.1.2 工作区 67
3.2 插件目录与JAR文件 68
3.2.1 链接文件 68
3.2.2 混合途径 69
3.3 插件清单 69
3.3.1 插件声明 70
3.3.2 插件运行时 71
3.3.3 插件依赖项 71
3.3.4 扩展项与扩展点 73
3.4 启动器或插件类 74
3.4.1 启动与关闭 74
3.4.2 插件早期启动 74
3.4.3 静态插件资源 74
3.4.4 插件首选项 75
3.4.5 插件配置文件 75
3.4.6 插件与AbstractUIPlugin 77
3.5 插件模型 77
3.5.1 平台 78
3.5.2 插件与包 78
3.5.3 插件扩展项注册表 79
3.6 日志 79
3.6.1 状态对象 80
3.6.2 错误日志视图 80
3.6.3 处理错误(与其他状态) 81
3.7 Eclipse插件 81
3.8 总结 82
参考文献 82
第4章 标准窗口小部件工具集 83
4.1 SWT历史与目标 83
4.2 SWT窗口小部件 85
4.2.1 简单独立示例 85
4.2.2 窗口小部件生命周期 87
4.2.3 窗口小部件事件 87
4.2.4 抽象窗口小部件类 88
4.2.5 最高级类 90
4.2.6 常用窗口小部件 92
4.2.7 菜单 108
4.2.8 其他窗口小部件 110
4.3 布局管理 110
4.3.1 填充布局(FillLayout) 110
4.3.2 行布局(RowLayout) 111
4.3.3 网格布局(GridLayout) 113
4.3.4 表单布局(FormLayout) 115
4.4 资源管理 117
4.4.1 颜色 117
4.4.2 字体 117
4.4.3 图像 117
4.5 GUI构建器(GUI Builder) 118
4.6 总结 119
参考文献 119
第5章 JFace查看器 121
5.1 面向列表的查看器 121
5.1.1 标签提供者 122
5.1.2 内容提供者 122
5.1.3 查看器排序器 123
5.1.4 查看器过滤器 123
5.1.5 StructuredViewer类 123
5.1.6 ListViewer类 125
5.1.7 TableViewer类 127
5.1.8 TreeViewer类 130
5.2 文本查看器 132
5.3 总结 134
参考文献 134
第6章 命令与操作 135
6.1 命令 135
6.2 菜单和工具栏添加项 138
6.2.1 定义最高级菜单 138
6.2.2 添加至已有最高级菜单 138
6.2.3 定义最高级工具栏项 139
6.2.4 限制最高级菜单与工具栏项的
可见性 139
6.2.5 定义基于选择的上下文菜单项 140
6.2.6 定义视图相关菜单或工具栏项 143
6.2.7 定义编辑器相关的菜单或工具栏
项目 143
6.2.8 动态菜单添加项 144
6.2.9 locationURI 144
6.2.10 visibleWhen表达式 145
6.3 处理器 148
6.4 键绑定 150
6.5 IAction与IActionDelegate 151
6.6 工作台窗口操作 152
6.6.1 定义工作台窗口菜单 153
6.6.2 菜单中的组 154
6.6.3 定义菜单项和工具栏按钮 154
6.6.4 操作的图像 155
6.6.5 插入点 155
6.6.6 创建操作代表 156
6.6.7 手动测试新建操作 157
6.6.8 为新操作添加测试 158
6.6.9 讨论 160
6.7 对象操作 160
6.7.1 定义基于对象的操作 161
6.7.2 操作过滤与可用 163
6.7.3 IObjectActionDelegate 167
6.7.4 创建基于对象的子菜单 167
6.7.5 手动测试新操作 168
6.7.6 为新操作添加测试 168
6.8 视图操作 169
6.8.1 定义视图上下文子菜单 169
6.8.2 定义视图上下文菜单操作 170
6.8.3 IViewActionDelegate 171
6.8.4 定义视图工具栏操作 171
6.8.5 定义视图下拉子菜单和操作 172
6.8.6 手动测试新操作 172
6.8.7 为新操作添加测试 172
6.8.8 视图上下文菜单标识符 172
6.9 编辑器操作 174
6.9.1 定义编辑器上下文菜单 174
6.9.2 定义编辑器上下文操作 175
6.9.3 IEditorActionDelegate 175
6.9.4 定义编辑器最高级菜单 176
6.9.5 定义编辑器最高级操作 176
6.9.6 定义编辑器工具栏操作 177
6.9.7 为新操作添加测试 177
6.9.8 编辑器上下文菜单标识符 177
6.10 操作和键绑定 178
6.10.1 将命令与操作相关联 178
6.10.2 键盘可访问性 179
6.11 RFRS相关事项 180
6.12 总结 180
参考文献 180
第7章 视图 181
7.1 视图声明 182
7.1.1 声明视图类别 182
7.1.2 声明视图 183
7.2 视图部件 184
7.2.1 视图方法 184
7.2.2 视图控件 184
7.2.3 视图模型 185
7.2.4 内容提供者 194
7.2.5 标签提供者 195
7.2.6 查看器排序器 196
7.2.7 查看器过滤器 198
7.2.8 视图选择 199
7.2.9 实现propertyTester 199
7.3 视图命令 199
7.3.1 模型命令处理器 200
7.3.2 上下文菜单 200
7.3.3 工具栏按钮 203
7.3.4 下拉菜单 204
7.3.5 键盘命令 205
7.3.6 全局命令 205
7.3.7 剪贴板命令 206
7.3.8 拖放支持 210
7.3.9 内联编辑 215
7.4 链接视图 218
7.4.1 选择提供者 218
7.4.2 可适配对象 218
7.4.3 选择监听器 218
7.4.4 打开编辑器 219
7.5 保存视图状态 220
7.5.1 保存本地视图信息 220
7.5.2 保存全局视图信息 222
7.6 测试 225
7.7 图像缓存 225
7.8 自动调整大小的表列 226
7.9 RFRS相关事项 227
7.9.1 用于导航的视图(RFRS 3.5.15) 227
7.9.2 视图立即保存(RFRS 3.5.16) 227
7.9.3 视图初始化(RFRS 3.5.17) 227
7.9.4 视图全局操作(RFRS 3.5.18) 227
7.9.5 保存视图状态(RFRS 3.5.19) 228
7.9.6 注册上下文菜单(RFRS 5.3.5.8) 228
7.9.7 视图操作过滤程序
(RFRS 5.3.5.9) 228
7.10 总结 229
参考文献 229
第8章 编辑器 230
8.1 编辑器声明 231
8.2 编辑器组件 233
8.2.1 编辑器方法 233
8.2.2 编辑器控件 234
8.2.3 编辑器模型 236
8.2.4 内容提供者 242
8.2.5 标签提供者 243
8.3 编辑 244
8.3.1 单元格编辑器 244
8.3.2 变更监听器 246
8.3.3 单元格验证器 247
8.3.4 编辑与选择 249
8.4 编辑器生命周期 249
8.4.1 修改过的编辑器 249
8.4.2 切换页面 250
8.4.3 保存内容 251
8.5 编辑器命令 251
8.5.1 上下文菜单 251
8.5.2 编辑器添加程序 253
8.5.3 编辑器命令而不是编辑器添加
程序 257
8.5.4 撤销/重做 259
8.5.5 剪贴板操作 266
8.6 链接编辑器 266
8.7 RFRS相关事项 266
8.7.1 使用编辑器进行编辑或浏览
(RFRS 3.5.9) 266
8.7.2 编辑器生命周期(RFRS 3.5.10) 266
8.7.3 访问全局操作(RFRS 3.5.11) 267
8.7.4 当对象被删除时关闭
(RFRS 3.5.12) 267
8.7.5 同步外部更改(RFRS 3.5.14) 268
8.7.6 注册编辑器菜单
(RFRS 5.3.5.2) 268
8.7.7 编辑器操作过滤器
(RFRS 5.3.5.3) 268
8.7.8 未保存的编辑器更改
(RFRS 5.3.5.4) 268
8.7.9 为更改过的资源添加前缀
(RFRS 5.3.5.5) 268
8.7.10 编辑器大纲视图
(RFRS 5.3.5.6) 268
8.7.11 与大纲视图同步
(RFRS 5.3.5.7) 269
8.8 总结 269
参考文献 269
第9章 资源更改跟踪 270
9.1 IResourceChangeListener 270
9.1.1 IResourceChangeEvent 270
9.1.2 IResourceDelta 271
9.2 处理更改事件 272
9.3 批处理更改事件 274
9.4 进度监视器 276
9.4.1 IProgressMonitor 276
9.4.2 用于显示进度的类 276
9.4.3 工作台窗口状态栏 278
9.4.4 IProgressService 279
9.5 被延迟的更改事件 279
9.6 总结 280
参考文献 280
第10章 透视图 281
10.1 创建透视图 281
10.1.1 透视图扩展点 282
10.1.2 透视图工厂 282
10.1.3 IPageLayout 284
10.2 改进已有透视图 285
10.2.1 添加视图和占位符 285
10.2.2 添加快捷方式 287
10.2.3 添加操作集 288
10.3 RFRS相关事项 289
10.3.1 为长时间任务创建
(RFRS 5.3.5.10) 289
10.3.2 扩展已有透视图
(RFRS 5.3.5.11) 289
10.3.3 添加操作至窗口菜单
(RFRS 5.3.5.15) 289
10.4 总结 290
参考文献 290
第11章 对话框与向导 291
11.1 对话框 291
11.1.1 SWT对话框与JFace对话框 291
11.1.2 普通SWT对话框 291
11.1.3 普通JFace对话框 292
11.1.4 创建JFace对话框 293
11.1.5 对话框单元 295
11.1.6 对话框的初始位置和大小 295
11.1.7 可调整大小的对话框 295
11.1.8 收藏夹视图过滤器对话框 296
11.1.9 细节对话框 299
11.1.10 打开对话框—查找父shell 305
11.2 向导 306
11.2.1 IWizard 307
11.2.2 IWizardPage 308
11.2.3 IWizardContainer 309
11.2.4 嵌套的向导 310
11.2.5 启动向导 310
11.2.6 向导示例 312
11.2.7 对话框设置 314
11.2.8 基于选择的页面内容 314
11.2.9 基于前一页面的页面内容 318
11.3 RFRS相关事项 320
11.3.1 向导外观(RFRS 3.5.2) 320
11.3.2 在编辑器中打开新文件
(RFRS 3.5.6) 320
11.3.3 新项目切换透视图
(RFRS 3.5.7) 321
11.3.4 显示新对象(RFRS 3.5.8) 321
11.3.5 单一页面向导按钮
(RFRS 5.3.5.13) 321
11.4 总结 321
参考文献 321
第12章 首选项页 322
12.1 创建首选项页 322
12.2 首选项页API 323
12.2.1 FieldEditorPreferencePage 324
12.2.2 字段编辑器 324
12.2.3 PreferencePage 327
12.2.4 收藏夹首选项页 327
12.2.5 合法性验证 328
12.2.6 嵌套首选项页 329
12.2.7 选项卡式首选项页 330
12.3 首选项API 331
12.3.1 默认首选项 331
12.3.2 访问首选项 332
12.3.3 在程序中指定默认值 333
12.3.4 在文件中指定默认值 334
12.3.5 关联收藏夹视图 334
12.3.6 监听首选项更改 335
12.4 RFRS相关事项 335
12.5 总结 336
参考文献 336
第13章 属性 337
13.1 创建属性 337
13.1.1 FavoriteItem属性 337
13.1.2 资源属性 339
13.2 在属性对话框中显示属性 339
13.2.1 声明属性页 340
13.2.2 创建资源属性页 342
13.2.3 创建收藏夹项资源页 343
13.2.4 打开属性对话框 345
13.2.5 IColorProvider 345
13.3 在属性视图中显示属性 346
13.3.1 属性视图API 346
13.3.2 属性视图中的收藏夹属性 348
13.4 属性页作为首选项页重用 349
13.5 RFRS相关事项 350
13.6 总结 351
参考文献 351
第14章 构建器、标记和性质 352
14.1 构建器 353
14.1.1 声明构建器 353
14.1.2 IncrementalProjectBuilder 355
14.1.3 派生资源 360
14.1.4 关联构建器与项目 360
14.1.5 触发构建器 362
14.2 标记 363
14.2.1 标记类型 363
14.2.2 创建并删除标记 365
14.2.3 标记属性 366
14.2.4 标记解析—快速修复 368
14.2.5 查找标记 371
14.3 性质 372
14.3.1 声明性质 372
14.3.2 关联构建器与性质 373
14.3.3 IProjectNature 374
14.3.4 必需的性质 375
14.3.5 冲突的性质 375
14.3.6 性质图像 376
14.3.7 关联性质与项目 376
14.4 RFRS相关事项
14.4.1 使用构建器以转换资源
(RFRS 3.8.1) 380
14.4.2 不要替代已有构建器
(RFRS 3.8.3) 380
14.4.3 不要滥用术语“构建”
(RFRS 5.3.8.1) 380
14.4.4 标记已创建的资源为“派生的”
(RFRS 5.3.8.2) 381
14.4.5 响应清理构建请求
(RFRS 5.3.8.3) 381
14.4.6 在可能时使用IResourceProxy
(RFRS 5.3.8.4) 381
14.4.7 构建器必须由性质添加
(RFRS 5.3.8.5) 382
14.5 总结 382
参考文献 382
第15章 实现帮助 383
15.1 使用帮助 383
15.2 实现帮助 385
15.2.1 新建帮助项目 385
15.2.2 插件清单文件 387
15.2.3 内容表(toc)文件 388
15.2.4 创建HTML内容 390
15.3 上下文相关的帮助(F1) 391
15.3.1 关联上下文ID与项 392
15.3.2 IWorkbenchHelpSystem API 393
15.3.3 创建上下文相关的帮助内容 393
15.3.4 上下文扩展点 394
15.3.5 标记帮助 396
15.4 从程序中访问帮助 396
15.4.1 打开指定帮助页 396
15.4.2 打开网页 397
15.5 备忘单 398
15.5.1 使用备忘单 398
15.5.2 创建简单备忘单 398
15.5.3 注册备忘单 400
15.5.4 添加备忘单命令 402
15.5.5 添加命令参数 403
15.6 RFRS相关事项 404
15.6.1 通过帮助系统提供帮助
(RFRS 3.7.2) 404
15.6.2 通过帮助系统提供所有帮助
(RFRS 5.3.7.1) 404
15.6.3 使用F1激活上下文帮助
(RFRS 5.3.7.2) 405
15.6.4 实现活动帮助(RFRS 5.3.7.3) 405
15.6.5 独立帮助的使用
(RFRS 5.3.7.4) 405
15.6.6 附加文档的使用
(RFRS 5.3.7.5) 405
15.6.7 提供任务流的概述
(RFRS 5.3.5.34) 405
15.6.8 仅说明一个任务
(RFRS 5.3.5.35) 406
15.6.9 为每一个步骤提供帮助链接
(RFRS 5.3.5.36) 406
15.7 总结 406
参考文献 406
第16章 国际化 407
16.1 外部化插件清单 407
16.2 外部化插件字符串 409
16.3 使用片段 414
16.3.1 新建片段项目向导 414
16.3.2 片段清单文件 415
16.3.3 片段项目内容 417
16.4 手动测试 417
16.5 总结 417
参考文献 417
第17章 创建新扩展点 419
17.1 扩展点机制 419
17.2 定义扩展点 419
17.2.1 创建扩展点 420
17.2.2 创建扩展点模式 421
17.2.3 扩展点元素和属性 422
17.2.4 扩展点元素语法 425
17.3 扩展点的后台代码 426
17.3.1 分析扩展项信息 426
17.3.2 创建代理 427
17.3.3 创建可执行扩展项 429
17.3.4 清理 431
17.4 扩展点文档 431
17.5 使用扩展点 432
17.6 RFRS相关事项 434
17.6.1 文档扩展点(RFRS 3.10.5) 434
17.6.2 记录错误(RFRS 5.3.10.1) 434
17.7 总结 434
参考文献 434
第18章 功能部件、品牌化和更新 435
18.1 功能部件项目 436
18.1.1 创建新功能部件项目 436
18.1.2 功能部件清单文件 437
18.1.3 功能部件清单编辑器 438
18.1.4 测试功能部件 442
18.2 品牌化 442
18.2.1 about.html文件 443
18.2.2 about.ini文件 443
18.2.3 产品品牌化 445
18.3 更新站点 446
18.3.1 创建更新站点项目 447
18.3.2 site.xml文件 447
18.3.3 更新网站 450
18.3.4 回到功能部件清单 450
18.3.5 访问更新站点 451
18.4 RFRS相关事项 453
18.4.1 不要覆盖产品品牌
(RFRS 3.1.8) 453
18.4.2 具有品牌的功能部件可见性
(RFRS 5.3.1.9) 453
18.4.3 包含添加项信息
(RFRS 5.3.1.10) 453
18.4.4 about.html文件内容
(RFRS 5.3.1.11) 453
18.4.5 启动画面限制(RFRS 5.3.1.12) 454
18.5 总结 454
参考文献 454
第19章 构建产品 455
19.1 Ant的简要介绍 455
19.1.1 构建项目 455
19.1.2 构建目标 455
19.1.3 构建任务 456
19.1.4 构建属性 458
19.1.5 [antcall]任务 463
19.1.6 macrodef 465
19.1.7 Ant扩展项 466
19.2 使用PDE构建 467
19.2.1 PDE构建概述 467
19.2.2 PDE构建过程中的步骤 468
19.2.3 PDE构建过程中的目录 469
19.2.4 PDE脚本和模板 469
19.2.5 创建PDE构建 470
19.2.6 指定编译级别 471
19.2.7 运行PDE构建 471
19.2.8 自动生成版本限定符 472
19.2.9 保持版本同步 473
19.2.10 构建属性 473
19.2.11 自定义PDE目标 475
19.2.12 使用不同版本的Eclipse编辑 476
19.3 调试PDE构建过程 477
19.3.1 自动生成的构建脚本 477
19.3.2 使用调试器 478
19.4 总结 478
参考文献 479
第20章 GEF:图形编辑框架 480
20.1 GEF体系结构 480
20.2 GEF模型 481
20.3 GEF控制器 481
20.3.1 EditPart类 481
20.3.2 最高级EditPart 483
20.3.3 子EditParts 484
20.3.4 连接EditParts 485
20.3.5 EditPartFactory 488
20.4 GEF图案 488
20.4.1 IFigure 489
20.4.2 Graphics 489
20.4.3 复杂图案 491
20.4.4 连接图案 494
20.4.5 LayoutManager 494
20.5 Eclipse视图中的GEF 496
20.6 Eclipse编辑器中的GEF 498
20.6.1 编辑器输入 499
20.6.2 回到FavoritesManagerEditPart 500
20.6.3 绘画编辑器类 500
20.6.4 FavoritesGEFEditor 501
20.6.5 用户与GEF的交互 503
20.6.6 编辑菜单 506
20.6.7 FreeformLayer和FreeformLayout 508
20.6.8 z顺序 509
20.6.9 删除模型对象 511
20.7 选项板 512
20.7.1 创建GEF选项板 512
20.7.2 CreateCommand 513
20.8 总结 514
参考文献 514
第21章 高级话题 515
21.1 高级搜索—引用项目 515
21.2 访问内部代码 516
21.2.1 Eclipse新闻组 516
21.2.2 Bugzilla—Eclipse bug跟踪
系统 516
21.2.3 用于访问内部代码的选项 517
21.2.4 Eclipse的不同之处 517
21.2.5 相关插件 517
21.2.6 使用片段 518
21.3 适配器 518
21.3.1 IAdaptable 518
21.3.2 使用适配器 518
21.3.3 适配器工厂 519
21.3.4 IWorkbenchAdapter 520
21.4 打开浏览器或创建E-mail 521
21.4.1 IWorkbenchBrowserSupport 521
21.4.2 LaunchURL 521
21.4.3 OpenEmailAction 522
21.5 扩展点中指定的类型 525
21.5.1 参数化的类型 525
21.5.2 在不同的插件中引用类 526
21.6 修改Eclipse以查找部分标识符 527
21.6.1 修改Eclipse基础 527
21.6.2 创建全局操作 528
21.6.3 测试新功能 530
21.6.4 提交更改至Eclipse 530
21.7 标签修饰符 530
21.7.1 声明标签装饰符 531
21.7.2 ILightweightLabelDecorator 531
21.7.3 装饰性标签装饰符 533
21.7.4 IDecoratorManager 534
21.8 后台任务—Jobs API 535
21.9 插件ClassLoader 537
21.10 早期启动 541
21.10.1 管理早期启动 541
21.10.2 取消早期启动 542
21.11 富客户端平台 542
21.12 总结 542
参考文献 542
附录A Eclipse插件和资源 544
附录B Ready for Rational Software 552
· · · · · · (
收起)