內容簡介
本書由ibm eclipse jumpstart小組成員編寫,榮獲第15屆jolt大獎,是全世界java開發人員學習eclipse的首選讀本。該書從第1版開始,就以經典的內容影響無數java程式設計師,受到業界專家和讀者的極大推崇。無論您是否擁有eclipse開發經驗,本書都將使您獲益匪淺。
“本書根據eclipse 3.0進行了全面更新與修訂,是一本最具權威性的eclipse參考書——工具構建者、胖客戶端應用程式開發人員和需要定製與擴展eclipse環境的任何用戶的必備指南。”
——ibm eclipse項目管理總監dave thomson
作者簡介
Jim D’Anjou是IBM Silicon Valley Lab的一位資深軟體工程師、IT專家,曾在加利福尼亞大學伯克利分校獲得計算機科學學位,擁有25年的行業經驗。在關係資料庫、資料庫工具、應用程式資源庫和開發工具等產品的開發中,他擔任過眾多技術和管理職位。他擁有軟體過程自動化方面的兩項美國專利。在2001年的3月,Jim加入了Eclipse Jumpstart小組,擔任講師和行業顧問。
目錄
第Ⅰ部分 使 用 eclipse
第1章 引言 3
1.1 eclipse作為應用程式開發工具的宿主 4
1.2 不僅僅是工具的宿主,eclipse還作為客戶端應用程式的宿主 5
1.3 什麼是eclipse? 6
1.3.1 工具與應用程式的集成平台 6
1.3.2 java開發環境 7
1.3.3 開源社區 8
1.3.4 eclipse基金會的目標 9
1.3.5 作為用戶和捐獻者(contributor)參與社區 10
1.3.6 eclipse許可證 10
1.4 獲取與安裝eclipse 11
1.5 本章小結 11
1.6 參考文獻 12
第2章 eclipse入門 13
2.1 第一步 14
2.1.1 提示沒有任何jre可用的對話框 14
2.1.2 創建您的第一個項目 15
2.1.3 eclipse的外觀:編輯器、視圖和透視圖 16
2.1.4 用戶界面概述 18
.2.1.5 首選項介紹 19
2.2 基本的eclipse使用 20
2.2.1 在eclipse中工作 21
2.2.2 了解eclipse用戶界面 22
2.2.3 任務、書籤和問題 28
2.2.4 後台處理 29
2.2.5 eclipse的幫助功能 30
2.3 資源管理 36
2.3.1 工作空間 36
2.3.2 有關項目的更多內容 42
2.3.3 資源的導入和導出 44
2.3.4 資源移動 46
2.3.5 文本編輯器 47
2.3.6 快速差別—— 實時變化通知 48
2.3.7 檔案編碼 48
2.3.8 列印 49
2.4 eclipse定製 49
2.4.1 透視圖 49
2.4.2 漸進顯示 51
2.4.3 在eclipse中運行多視窗和多工作空間 51
2.4.4 改變鍵盤快捷鍵 54
2.4.5 定製jre 55
2.4.6 在eclipse中使用其他電腦程式 55
2.4.7 性能 60
2.5 練習概述 61
2.6 本章小結 61
2.7 參考文獻 62
第3章 使用java開發工具 63
3.1 jdt入門 64
3.1.1 jdt用戶界面概述 64
3.1.2 jdt基礎 65
3.1.3 使用jdt視圖 68
3.1.4 搜尋 69
3.2 編寫java代碼 71
3.2.1 java編輯器概述 71
3.2.2 鍵入輔助 76
3.2.3 代碼輔助 77
3.2.4 代碼生成 80
3.2.5 導航java錯誤和警告 81
3.2.6 使用快速修正功能來修改java錯誤 82
3.2.7 重構 83
3.2.8 使用代碼模板 86
3.2.9 字元串外部化 87
3.2.10 生成javadoc 88
3.2.11 在不同的jre下編寫java代碼 90
3.2.12 編譯代碼 91
3.2.13 eclipse與ant的集成 92
3.3 java元素的使用 94
3.3.1 資料夾 94
3.3.2 java項目 94
3.3.3 類和接口 98
3.3.4 導入java元素 98
3.3.5 java元素的本地歷史記錄 98
3.4 調整jdt性能 99
3.5 jdt視圖和首選項的更多內容 100
3.5.1 視圖內容過濾 100
3.5.2 package explorer視圖 100
3.5.3 hierarchy視圖 101
3.5.4 call hierarchy視圖 102
3.5.5 outline視圖 103
3.5.6 problems視圖 103
3.5.7 search視圖 103
3.5.8 java type hierarchy透視圖 103
3.5.9 java browsing透視圖 104
3.6 練習概述 105
3.7 本章小結 106
3.8 參考文獻 106
第4章 java程式的運行與調試 107
4.1 運行java代碼 108
4.1.1 使用運行和調試命令 108
4.1.2 管理啟動配置 109
4.1.3 對代碼片斷編輯測試窗頁面中的表達式進行求值 111
4.2 調試 112
4.2.1 基本的調試活動 113
4.2.2 表達式求值 115
4.2.3 修改變數和欄位的值 116
4.2.4 使用java編輯器進行調試 116
4.2.5 對當前所調試的程式進行操作 117
4.2.6 console視圖中的程式輸出 119
4.2.7 有關斷點的更多知識 119
4.2.8 java異常斷點 121
4.2.9 將程式與原始碼相關聯 123
4.2.10 熱代碼替換 123
4.3 遠程調試 124
4.4 練習概述 125
4.5 本章小結 126
4.6 參考文獻 127
第5章 協同使用eclipse 129
5.1 eclipse對cvs的支持 130
5.2 eclipse的通用小組支持 131
5.2.1 eclipse小組支持的基本原則 132
5.2.2 配置小組支持 132
5.3 為初學者準備的cvs概述 133
5.3.1 cvs的一些重要設計原則 133
5.3.2 修訂版:任何東西都不會被丟失 134
5.3.3 更新:跟上小組的進度 134
5.3.4 提交:共享您的資源 134
5.3.5 版本設定:捕獲資源的當前狀態 135
5.3.6 分支和合併:支持並行開發 135
5.3.7 在分支和合併時對於修訂版本號發生了什麼 136
5.3.8 使用cvs管理二進制檔案 136
5.4 eclipse中的cvs用戶界面 136
5.4.1 cvs repository exploring透視圖:資源庫主頁 137
5.4.2 cvs repositories視圖 137
5.4.3 cvs annotate視圖 141
5.4.4 cvs resource history視圖 141
5.4.5 查看cvs命令 143
5.4.6 cvs是如何管理工作空間中項目的 143
5.4.7 在team快捷選單中可獲得的cvs操作 144
5.4.8 team synchronizing透視圖和synchronize嚮導 146
5.4.9 處理同一檔案的並發更新 147
5.4.10 使用cvs的watch/edit支持以避免對同一檔案的並行更新 148
5.4.11 恢復被刪除的檔案 150
5.4.12 其他cvs用戶界面元素 150
5.5 特殊情況及其處理 151
5.5.1 對項目資源進行重命名、移動和刪除 151
5.5.2 取消修改:使用替換和比較操作 152
5.5.3 通過建立分支來進行版本維護和新版本開發 152
5.6 其他功能 152
5.6.1 編輯器中的快速差別功能對cvs的支持 153
5.6.2 補丁程式:快速而又簡單地共享更改 153
5.6.3 項目集:加快新工作空間 153
5.6.4 斷開項目與cvs的連線或為項目重分派一個cvs資源庫 154
5.7 練習概述 154
5.8 本章小結 155
5.9 參考文獻 155
第6章 eclipse環境管理 157
6.1 eclipse安裝實例概覽 158
6.1.1 eclipse的目錄內容 158
6.1.2 eclipse的平台配置 159
6.1.3 features目錄 160
6.1.4 plugins目錄 161
6.2 理解運行時配置 161
6.2.1 用戶界面中的功能部件詳細信息 162
6.2.2 配置詳細信息 163
6.3 協調首選項設定 164
6.3.1 同步首選項設定 164
6.3.2 定義新的首選項默認設定 165
6.4 理解配置管理的基本原理 167
6.4.1 update manager介紹 168
6.4.2 配置基礎 168
6.4.3 安裝位置類型 169
6.4.4 update manager的api命令 170
6.5 使用update manager 170
6.5.1 安裝位置的添加和刪除 171
6.5.2 功能部件的禁用和啟用 171
6.5.3 從更新站點安裝功能部件 172
6.5.4 將服務套用於功能部件 173
6.5.5 相關練習 173
6.6 配置的管理 174
6.6.1 理解默認配置處理 174
6.6.2 使用備用配置 175
6.6.3 在工作空間和配置之間強制建立一對一關係 177
6.7 本章小結 178
6.8 參考文獻 178
第Ⅱ部分 擴展eclipse基礎
第7章 擴展eclipse,亦利亦弊 181
7.1 對擴展eclipse感到興奮嗎?您肯定會的! 181
7.2 一個簡單而實用的示例 182
7.3 短暫接觸“hello, world” 183
7.4 提出恰當的問題比知道答案更重要 185
7.4.1 怎樣把擴展顯示在用戶界面中,顯示在哪裡 186
7.4.2 擴展用戶界面的常用方法 186
7.4.3 用戶界面的擴展怎樣感知某些事件(如用戶的選擇)? 189
7.4.4 怎樣擴展對象(如顯示在outline視圖中的對象) 193
7.4.5 不同視圖中顯示的相同對象之間的關係 194
7.4.6 怎樣通過程式更改jdt模型 195
7.5 接下來我們學習哪些內容 197
第8章 eclipse體系結構概述 199
8.1 歷史和現狀 200
8.2 體系結構的最高優先權:可擴展性與集成 201
8.3 eclipse作為ide平台和作為胖客戶端應用程式 203
8.4 eclipse platform runtime 204
8.5 用戶界面架構 205
8.5.1 標準小部件工具箱 205
8.5.2 jface用戶界面架構 206
8.6 workbench架構 208
8.6.1 存儲持久性值 209
8.6.2 使用胖客戶端平台創建應用程式 209
8.6.3 使用並發性架構維持對用戶的快速回響 210
8.6.4 通過功能組管理用戶界面 210
8.6.5 擴展workbench集成開發環境 211
8.7 本章小結 212
8.8 參考文獻 212
第9章 外掛程式開發入門 213
9.1 外掛程式入門 214
9.1.1 集成情景 215
9.1.2 發布自己的外掛程式 217
9.2 擴展和擴展點入門 217
9.3 實現外掛程式的基本步驟 220
9.3.1 聲明自己的外掛程式清單 222
9.3.2 定義自己的外掛程式類 225
9.3.3 安裝自己的外掛程式 226
9.4 使用外掛程式開發環境 227
9.4.1 pde視圖和編輯器 227
9.4.2 管理運行時環境和開發環境 230
9.4.3 創建並運行外掛程式 231
9.5 練習概述 232
9.6 本章小結 233
9.7 參考文獻 233
第10章 使用胖客戶端平台創建應用程式 235
10.1 在rcp上構建應用程式的理由 235
10.1.1 給企業帶來的好處 235
10.1.2 給軟體開發者帶來的好處 236
10.1.3 給用戶帶來的好處 236
10.2 複習eclipse體系結構 237
10.2.1 eclipse應用程式類型 240
10.2.2 eclipse的運行 241
10.2.3 定義一個eclipse應用程式 242
10.3 重用eclipse的時機 243
10.3.1 非ui的外掛程式組件 243
10.3.2 swt圖形用戶界面 244
10.3.3 基於添加項的workbench用戶界面 245
10.3.4 ide擴展 245
10.4 實現自己的workbench 246
10.4.1 可以在workbench中配置什麼 249
10.4.2 啟動並運行自己的應用程式 250
10.4.3 配置自己的應用程式 250
10.4.4 支持來自其他外掛程式的ui添加項 251
10.5 練習概述 252
10.6 本章小結 253
10.7 參考文獻 253
第11章 創建擴展點:其他人怎樣擴展您的外掛程式 255
11.1 擴展點和擴展之間的關係 255
11.2 查看激活的外掛程式、擴展以及擴展點的正式列表 257
11.3 怎樣定義擴展點 258
11.3.1 選擇需要讓其他人擴展或配置的現有代碼 258
11.3.2 聲明擴展點 260
11.3.3 為預期的行為定義接口 261
11.3.4 處理用於擴展點的註冊表項 264
11.3.5 通過以前定義的接口契約調用適當的方法 265
11.4 處理動態外掛程式 266
11.5 怎樣啟用基於模式的new extension嚮導 267
11.5.1 為什麼要定義一個模式 268
11.5.2 模式編輯器 268
11.6 示例概述 269
11.7 本章小結 269
11.8 參考文獻 269
第12章 外掛程式開發的高級專題 271
12.1 從eclipse 2.1移植外掛程式 271
12.2 外掛程式類載入器 272
12.3 運行時發現以及延遲載入 273
12.4 強制進行前期外掛程式激活 274
12.5 外掛程式粒度 275
12.6 外掛程式片斷 275
12.6.1 片斷用作語言包 276
12.6.2 片斷作為專用於某個平台的內容 276
12.7 本章小結 277
12.8 參考文獻 277
第13章 定義功能部件和產品 279
13.1 功能部件 279
13.1.1 功能部件的概念 279
13.1.2 功能部件的定義 281
13.1.3 烙印功能部件的商標 285
13.1.4 安裝功能部件 287
13.2 產品 292
13.2.1 創建產品定義 292
13.2.2 定義產品介紹的內容 293
13.2.3 在eclipse platform上構建自己的產品 294
13.3 練習概述 295
13.4 本章小結 295
13.5 參考文獻 296
第Ⅲ部分 擴展eclipse workbench
第14章 swt:一個輕便但出色的小部件體系 299
14.1 swt應用程式的基本結構 300
14.2 常見的swt小部件 302
14.3 對事件作出回響 304
14.4 怎樣使用布局管理器來布置swt小部件 307
14.4.1 填充布局 310
14.4.2 行布局 310
14.4.3 柵格布局 312
14.4.4 窗體布局 315
14.4.5 棧布局 317
14.4.6 布局管理器總結 317
14.5 錯誤處理 317
14.6 小部件有特殊的銷毀需求 318
14.7 使用執行緒來分離ui和非ui行為 320
14.8 swt包概述 322
14.9 swt對swing的支持 323
14.10 eclipse forms 323
14.11 示例概述 324
14.12 本章小結 324
14.13 參考文獻 325
第15章 jface查看器 327
15.1 查看器基礎 327
15.1.1 查看器的概念 327
15.1.2 查看器的外觀 328
15.1.3 查看器的類型 328
15.1.4 查看器的用法 329
15.1.5 使用查看器的原因 329
15.2 查看器架構 330
15.2.1 類結構 330
15.2.2 內容提供者、內容查看器與標籤提供者之間的關係 331
15.3 創建基本的內容查看器的配置 332
15.3.1 確定輸入 332
15.3.2 創建查看器 333
15.3.3 創建內容提供者 334
15.3.4 創建標籤提供者 334
15.3.5 把查看器與內容提供者、標籤提供者連線起來 336
15.3.6 定義到查看器的輸入內容 336
15.3.7 實現模型-查看器同步 337
15.4 控制在結構化查看器中顯示的內容 341
15.4.1 過濾查看器的內容 342
15.4.2 對查看器內容進行排序 343
15.5 與查看器對象相互作用 345
15.5.1 處理查看器中用戶選中的對象 346
15.5.2 自由地創建查看器彈出選單操作 347
15.5.3 添加查看器操作 348
15.6 使用其他類型的查看器 349
15.6.1 表查看器 350
15.6.2 樹查看器 351
15.6.3 表樹查看器 352
15.6.4 複選框查看器 352
15.7 workbench集成的高級選項 352
15.7.1 增加對properties對話框的支持 353
15.7.2 在查看器中為對象添加標籤修飾 354
15.8 示例概述 356
15.9 本章小結 356
15.10 參考文獻 357
第16章 對話框和嚮導 359
16.1 對話框——非workbench 部分的用戶界面 359
16.1.1 引用點——用戶界面架構 360
16.1.2 用於對話框和嚮導的workbench擴展點 360
16.1.3 常見的可重用對話框 363
16.2 向preferences對話框中添加首選項頁面 364
16.2.1 定義首選項頁面擴展 365
16.2.2 實現首選項頁面 366
16.2.3 定義首選項頁面的用戶界面 367
16.2.4 如何向首選項頁面添加首選項值邏輯 368
16.2.5 構建欄位編輯器首選項頁面 379
16.3 向properties對話框中添加屬性頁面 373
16.3.1 定義屬性頁面擴展 374
16.3.2 實現屬性頁面 376
16.3.3 定義屬性頁面的用戶界面 377
16.3.4 添加資源屬性的訪問邏輯 378
16.3.5 保存那些特定於資源類型的屬性 370
16.3.6 實現自己的屬性對話框 380
16.4 添加嚮導 380
16.4.1 定義嚮導擴展 381
16.4.2 實現嚮導 383
16.4.3 實現嚮導頁面 384
16.4.4 定製嚮導 385
16.4.5 控制嚮導頁面的進展 387
16.4.6 延遲創建嚮導頁面的用戶界面 388
16.4.7 可重用的專用嚮導頁面 389
16.5 直接打開嚮導對話框來處理嚮導 391
16.6 示例概述 392
16.7 本章小結 393
16.8 參考文獻 393
第17章 對話框設定、首選項及用戶設定 395
17.1 對話框設定、首選項值以及用戶設定選項概述 395
17.1.1 對話框設定 395
17.1.2 首選項值 396
17.1.3 用戶設定 396
17.2 對話框設定中的存儲值 396
17.2.1 管理對話框設定 397
17.2.2 對話框設定的用法 398
17.3 存儲外掛程式的首選項值 398
17.3.1 管理首選項值 399
17.3.2 設定默認的首選項值 400
17.3.3 對首選項值的更改作出反應 400
17.4 使用用戶設定管理作用域內的屬性值 401
17.4.1 作用域、節點和存儲值 401
17.4.2 作用域的層次結構 402
17.4.3 訪問用戶設定 403
17.4.4 更改通知 405
17.5 示例概述 405
17.6 本章小結 406
17.7 參考文獻 406
第18章 視圖 407
18.1 視圖:通用workbench部分 407
18.1.1 行為 408
18.1.2 體系結構 409
18.1.3 功能 409
18.2 視圖的實現 410
18.2.1 設計視圖 410
18.2.2 聲明視圖擴展 411
18.2.3 創建視圖類 412
18.2.4 定義用戶界面 413
18.2.5 添加視圖操作 414
18.2.6 保存和恢復視圖的狀態 416
18.2.7 打開一個視圖的第二個實例 416
18.2.8 支持show in請求 417
18.2.9 回顧視圖的實現 418
18.3 支持操作添加項 419
18.3.1 創建添加項的目標選單占位符 419
18.3.2 把快捷選單註冊到workbench中 420
18.4 與其他workbench組件互動 421
18.4.1 共享並偵聽workbench部分被選中的內容 422
18.4.2 提供顯示在properties視圖中的內容 424
18.4.3 支持全局操作 429
18.5 示例概述 430
18.6 本章小結 430
18.7 參考文獻 431
第19章 編輯器 433
19.1 編輯器的行為和體系結構 433
19.2 基本的實現步驟 434
19.2.1 設計編輯器的外觀 435
19.2.2 為編輯器的輸入創建一個new嚮導(可選) 435
19.2.3 聲明編輯器擴展 436
19.2.4 創建編輯器類 437
19.2.5 使用編輯器輸入實例化模型 437
19.2.6 定義用戶界面 439
19.2.7 處理用戶對編輯器輸入的修改 439
19.2.8 處理對編輯器輸入的保存 439
19.2.9 把查看器與模型關聯起來 440
19.2.10 使模型和編輯器同步 440
19.2.11 處理用戶所選的內容 441
19.2.12 定義編輯器的操作 441
19.3 除了基本實現步驟之外的其他內容 444
19.3.1 重用胖客戶端平台和ideworkbench的專用編輯器 445
19.3.2 連線編輯器和outline視圖 446
19.3.3 在編輯器和視圖之間導航 447
19.4 示例概述 448
19.5 本章小結 449
19.6 參考文獻 449
第20章 透視圖 451
20.1 創建透視圖 451
20.2 使用perspectiveextensions擴展點 453
20.3 示例概述 454
20.4 本章小結 455
20.5 參考文獻 455
第21章 操作添加項:集成捷徑 457
21.1 操作添加項擴展點 458
21.2 操作添加項基礎 459
21.2.1 操作添加項api 459
21.2.2 在外掛程式清單檔案中指定添加項 461
21.2.3 在選單和工具列中指定操作 463
21.2.4 使用過濾器來精確定義您的操作出現的位置 465
21.2.5 被選中內容的類過濾器 466
21.2.6 使用操作表達式創建精細的過濾器 466
21.3 向workbench選單欄和工具列添加操作 469
21.4 向視圖的選單和工具列添加操作 474
21.5 向編輯器的選單和工具列添加操作 478
21.6 向視圖和編輯器添加快捷選單 481
21.6.1 向視圖添加快捷選單 481
21.6.2 向編輯器添加快捷選單 482
21.6.3 向視圖或編輯器中被選中的對象添加快捷選單 483
21.7 向操作指派加速鍵 486
21.8 示例概述 489
21.9 本章小結 489
21.10 參考文獻 490
第22章 提供幫助 491
22.1 集成您的在線上文檔 492
22.1 1 把幫助內容創建為html內容 493
22.1.2 聲明幫助擴展 493
22.1.3 創建目錄檔案 494
22.1.4 eclipse的在線上文檔 496
22.2 創建上下文相關的幫助 497
22.2.1 聲明幫助的上下文擴展 497
22.2.2 定義彈出信息的內容 497
22.2.3 把彈出信息與ui上下文關聯起來 498
22.3 運行獨立的幫助infocenter 500
22.4 定製help系統 500
22.5 示例概述 501
22.6 本章小結 501
22.7 參考文獻 501
第Ⅳ部分 擴展eclipse ide
第23章 工作空間資源編程 505
23.1 資源的概念 505
23.1.1 物理視圖 506
23.1.2 邏輯視圖 507
23.1.3 資源模型與檔案系統的互動 508
23.1.4 navigator視圖中資源的可見性 509
23.2 工作空間api 510
23.2.1 工作空間和工作空間根目錄 510
23.2.2 資源容器 512
23.2.3 工作空間資源句柄 513
23.2.4 項目 514
23.2.5 項目描述 515
23.2.6 資源 517
23.2.7 路徑 518
23.2.8 資料夾和檔案 520
23.2.9 連結資源 521
23.2.10 訪問資源樹中的資源 522
23.3 資源屬性 524
23.3.1 會話屬性 524
23.3.2 持久屬性 525
23.4 處理工作空間資源更改事件 526
23.4.1 使用工作空間api跟蹤更改 526
23.4.2 添加資源更改偵聽器 526
23.4.3 資源更改事件觸發的時序 529
23.4.4 訪問資源變化 530
23.4.5 資源變化內容 533
23.5 資源更改事件管理 534
23.5.1 使用iworkspacerunnable 534
23.5.2 使用workspacejob類 535
23.5.3 使用工作空間調度規則工廠 536
23.6 使用工作空間保存事件來保存關鍵數據 537
23.6.1 保存事件——何種與何時 537
23.6.2 保存參與者api 537
23.7 示例概述 539
23.8 本章小結 540
23.9 參考文獻 540
第24章 利用性質和構建器管理資源 541
24.1 定製項目的處理行為 541
24.1.1 如何使用性質和構建器 541
24.1.2 擴展工作空間資源處理架構 542
24.2 定義和實現性質 542
24.2.1 創建性質以支持項目配置 542
24.2.2 將性質添加到項目中 544
24.2.3 管理性質-構建器關係 545
24.2.4 使用定製圖像標識您的項目性質 546
24.3 定義和實現增量項目構建器 547
24.3.1 構建器基礎 547
24.3.2 構建器調用 548
24.3.3 判斷何時需要使用構建器 549
24.3.4 構建器的定義和實現 550
24.4 示例概述 553
24.5 本章小結 554
24.6 參考文獻 554
第25章 使用標記對資源進行標識 555
25.1 使用標記 555
25.1.1 創建定製的資源標記 557
25.1.2 設定標記屬性 558
25.1.3 在標記創建和更新的過程中限制資源更改事件 558
25.2 添加新的標記類型 559
25.2.1 定義標記超類型 559
25.2.2 重用超類型屬性 561
25.2.3 控制標記持久性 561
25.2.4 向文本標記添加定製圖像 561
25.3 用標記解析生成器和幫助支持生成器擴展標記 562
25.3.1 添加標記解析 563
25.3.2 添加標記幫助 564
25.4 示例概述 565
25.5 本章小結 566
25.6 參考文獻 566
第26章 使用jface text構建定製的文本編輯器 567
26.1 標準的文本編輯器功能 568
26.1.1 文本編輯和查看 568
26.1.2 標準選單和工具列項 568
26.1.3 標準的標記表示 569
26.2 編輯器配置:定製點 570
26.2.1 內容輔助 570
26.2.2 語法突出顯示 571
26.2.3 內容格式化 571
26.2.4 各種各樣的定製 572
26.3 文本編輯器的實現細節 572
26.3.1 選擇編輯器的起點 573
26.3.2 textviewer類 573
26.3.3 abstractdecoratedtext editor類的關係 574
26.3.4 文檔的來源 575
26.3.5 模型-視圖-控制器關係 576
26.3.6 對文檔進行分區 577
26.3.7 sourceviewerconfiguration類 578
26.4 示例概述 578
26.5 本章小結 579
26.6 參考文獻 579
第27章 擴展java開發工具 581
27.1 jdt概述及其作用 581
27.2 java模型 582
27.3 訪問可重用的jdt功能 584
27.3.1 javacore類 584
27.3.2 javaui類 588
27.3.3 toolfactory類 589
27.3.4 searchengine類 590
27.4 編譯java原始碼 590
27.5 分析java原始碼 590
27.5.1 jdt abstract syntax tree 591
27.5.2 細粒度解析java原始碼 594
27.6 操作java原始碼 598
27.6.1 使用isourcemanipulation進行簡單原始碼操作 598
27.6.2 使用ibuffer進行稍複雜的原始碼操作 598
27.6.3 使用ast重寫進行複雜的原始碼操作 601
27.7 jdt在何處擴展了eclipse 604
27.8 擴展jdt用戶界面 605
27.8.1 添加視圖操作 605
27.8.2 添加編輯器操作 607
27.8.3 向java元素快捷選單添加操作 608
27.8.4 向特定視圖或者編輯器快捷選單添加操作 608
27.8.5 添加全局操作 609
27.8.6 在自己的視圖中顯示jdt元素 609
27.8.7 重用公共的jdt選擇對話框 609
27.9 示例概述 610
27.10 本章小結 610
27.11 參考文獻 610
第Ⅴ部分 可擴展性專題第28章 可服務性 613
28.1 外掛程式診斷信息:系統和配置信息 614
28.2 eclipse status對象:狀態收集器 614
28.3 異常處理:錯誤檢測 616
28.4 錯誤對話框:在錯誤訊息中提供詳細的狀態信息 616
28.5 運行時跟蹤:一個運行時診斷工具 618
28.6 在產品環境中使用跟蹤 620
28.7 診斷信息:一個內容豐富的錯誤日誌 620
28.8 錯誤記錄:把錯誤寫入workbench錯誤日誌中 621
28.9 示例概述 622
28.10 本章小結 622
28.11 參考文獻 622
第29章 使用作業實現回響性和並發性 623
29.1 並發性架構 623
29.1.1 在架構中誰完成了什麼工作? 624
29.1.2 作業的基礎 625
29.1.3 作業的類型 628
29.1.4 作業管理器 629
29.1.5 作業在用戶界面中的可見性 630
29.1.6 衝突管理 631
29.1.7 回顧並發性架構 632
29.2 使用作業 632
29.2.1 創建作業 633
29.2.2 定義作業的屬性 634
29.2.3 調度作業 634
29.2.4 使用sleep請求來暫停一個作業 635
29.2.5 等待作業的完成 635
29.2.6 偵聽作業更改事件 636
29.2.7 請求撤銷作業 637
29.3 用戶互動選項 638
29.3.1 使用特定於作業的圖像 638
29.3.2 使用活動進度報告的方式運行作業 639
29.3.3 workbench部分用於作業處理的支持技術 639
29.3.4 提供作業的完成反饋 640
29.4 作業的衝突管理選項 642
29.4.1 使用作業管理器鎖 642
29.4.2 使用調度規則 643
29.4.3 工作空間資源對調度規則的支持 644
29.4.4 定義調度規則 645
29.5 示例概述 646
29.6 本章小結 646
29.7 參考文獻 646
第30章 使用功能組管理豐富 的功能 647
30.1 功能組簡介 648
30.2 功能組擴展點 651
30.3 定義主嚮導 656
30.4 活動api 657
30.5 定義自己的觸發器 659
30.6 示例概述 659
30.7 本章小結 659
30.8 參考文獻 660
第31章 國際化和輔助功能 661
31.1 國際化對外掛程式有何影響 661
31.2 國際化的步驟 663
31.2.1 把可翻譯的字元串移動到*.properties檔案中 663
31.2.2 隔離那些依賴於外觀的參數 664
31.2.3 使用語言環境敏感的正確數據格式和置換api 664
31.2.4 使用自己本國的語言進行測試 664
31.2.5 創建初始翻譯的外掛程式片斷 665
31.2.6 eclipse語言包jar 665
31.3 輔助功能 667
31.4 示例概述 668
31.5 本章小結 668
31.6 參考文獻 669
第32章 性能調整 671
32.1 應該快速啟動eclipse的原因 671
32.2 使用runtime spy診斷啟動問題 672
32.2.1 安裝core tools 672
32.2.2 偵查workbench的開發 673
32.2.3 偵查運行時workbench 679
32.2.4 接下來的內容 679
32.3 示例研究:提升ibm web sphere studio的啟動性能 680
32.3.1 幫助eclipse快速啟動 680
32.3.2 再論runtime spy 681
32.3.3 偵查websphere studio 681
32.4 用performance monitor避免性能衰減 688
32.4.1 安裝 689
32.4.2 示例的使用 689
32.5 特定於eclipse的性能問題的通用解決方案 691
32.6 本章小結 692
32.7 參考文獻 692
第33章 swing互操作性 693
33.1 在視圖和編輯器中嵌入awt和swing 693
33.2 啟動-編輯集成 698
33.2.1 調用模式 699
33.2.2 提升最終用戶的使用經驗 699
33.2.3 常見的集成問題 700
33.3 abceditor示例——進程內調用 700
33.3.1 用於外部編輯器的編輯器擴展 700
33.3.2 添加workbench感知——資源同步 702
33.3.3 添加workbench感知——工具首選項 703
33.3.4 處理系統退出 704
33.4 示例概述 704
33.5 本章小結 704
33.6 參考文獻 705
第34章 ole與activex互操作性 707
34.1 eclipse中的com支持 708
34.1.1 內嵌的ole文檔 708
34.1.2 內嵌的activex控制項 708
34.2 com容器支持 709
34.2.1 創建oleframe對象 709
34.2.2 創建oleclientsite對象 709
34.2.3 激活ole對象 710
34.2.4 鈍化ole對象 711
34.2.5 eclipse ole編輯器支持 711
34.2.6 創建olecontrolsite對象 712
34.2.7 激活olecontrolsite對象 713
34.3 ole自動化——訪問已擴展的行為 713
34.3.1 ole exec命令 714
34.3.2 idispatch接口 715
34.3.3 方法 716
34.3.4 不帶參數的調用 716
34.3.5 variant類型 717
34.3.6 帶參數的調用 717
34.3.7 屬性 718
34.3.8 事件和屬性偵聽器 720
34.4 示例概述 721
34.5 本章小結 721
34.6 參考文獻 722
第Ⅵ部分 練 習
練習1 使用eclipse 725
第1節:您的第一個eclipse項目 725
第2節:編輯器和視圖 729
第3節:對資源進行操作 735
第4節:透視圖 740
第5節:在eclipse使用多視窗和多工作空間 742
第6節:獲得幫助 744
練習回顧 748
參考文獻 749
練習2 使用java開發工具 751
第1節:hello world程式 751
第2節:快速修正 753
第3節:代碼生成 759
第4節:重構 763
練習回顧 769
參考文獻 769
練習3 java程式的運行與調試 771
第1節:啟動配置 771
第2節:調試Ⅰ 776
第3節:調試ii 780
第4節:調試執行緒 784
第5節:遠程調試 787
練習回顧 790
參考文獻 790
練習4 使用eclipse開發一個簡單的web商業應用程式 791
練習設定 792
第1節:設定運行時環境 792
第2節:創建示例的項目 795
第3節:調試示例 801
第4節:部署示例 806
練習回顧 810
參考文獻 810
練習5 使用cvs開展小組工作 811
練習設定 811
第1節:入門 813
第2節:更新、提交和解決衝突 819
第3節:分支與合併 827
練習回顧 833
參考文獻 834
練習6 開發您的第一個外掛程式 835
練習設定 835
第1節:在5分鐘或更短的時間內創建“hello,world”程式 837
第2節:使用詳細指令逐步創建“hello,world”程式 838
第3節:使用運行時工作檯對外掛程式進行測試 846
第4節:使用運行時工作檯對外掛程式進行調試 846
第5節:定義功能部件以支持外掛程式 849
第6節:部署功能部件及其相關外掛程式 850
第7節:瀏覽(有時還可修改)eclipse平台代碼 852
第8節:常見問題的解決 854
練習回顧 856
練習7 開發您的第一個胖客戶端應用程式 857
練習設定 858
入門 858
第1節:創建應用程式擴展 860
第2節:創建透視圖擴展 861
第3節:創建workbench顧問 862
第4節:實現應用程式的主程式 863
第5節:運行並測試您的rcp應用程式 863
第6節:配置workbench視窗用戶界面元素 864
第7節:添加選單和工具列操作 866
第8節:部署應用程式 870
第9節:添加“可選的”組件 874
練習回顧 877
練習8 運用動態添加的外掛程式開發胖客戶端應用程式 879
練習設定 880
第1節:創建rcp應用程式啟動配置 880
第2節:實現外掛程式生命周期的start()方法 884
第3節:實現您的配置器 885
第4節:開發一個簡單的外掛程式發現機制 888
第5節:動態安裝bonus pack 889
練習回顧 891
練習9 使用功能部件部署產品 893
練習設定 894
第1節:功能部件開發者的任務 894
第2節:eclipse用戶的任務 900
第3節:產品開發者的任務 902
第4節:產品服務團隊的任務——實現一個更新站點 904
第5節:eclipse用戶的任務——更新 905
練習回顧 906