《Eclipse插件开发(原书第3版)》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)ERICCLAYBERGDANRUBEL著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111303367
  • 页数:554 页
图书介绍:本书由两位长期从事Java商业软件开发的技术专家编写,是关于开发Eclipse商业插件的书籍。本书主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了细节描述。本书既包含了开发Eclipse插件的基础理论,也涵盖了大量关于Eclipse插件开发的细节。本书不仅适用于Eclipse插件开发的初学者,对于Eclipse商业软件开发人员也有很高的参考价值。

第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相关事项 380

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