讀者贊譽
譯者序
序言一
序言二
前 言
第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
· · · · · · (
收起)