Official Eclipse 3.0 Faq (Paperback)
暫譯: 官方 Eclipse 3.0 常見問題解答 (平裝本)

John Arthorne, Chris Laffra

  • 出版商: Addison Wesley
  • 出版日期: 2004-07-08
  • 售價: $1,710
  • 貴賓價: 9.5$1,625
  • 語言: 英文
  • 頁數: 432
  • 裝訂: Paperback
  • ISBN: 0321268385
  • ISBN-13: 9780321268389
  • 相關分類: Java 相關技術
  • 已絕版

買這商品的人也買了...

商品描述

Table of Contents:

 

Foreword.

Preface.

Acknowledgments.

I. THE ECLIPSE ECOSYSTEM.

1. The Eclipse Community.

What is Eclipse?

What is the Eclipse Platform?

Where did Eclipse come from?

What is the Eclipse Foundation?

How can my users tell where Eclipse ends and a product starts?

What are Eclipse projects and technologies?

How do I propose my own project?

Who is building commercial products based on Eclipse?

What open source projects are based on Eclipse?

What academic research projects are based on Eclipse?

Who uses Eclipse in the classroom?

What is an Eclipse Innovation Grant?

What Eclipse newsgroups are available?

How do I get access to Eclipse newsgroups?

What Eclipse mailing lists are available?

What articles on Eclipse have been written?

What books have been written on Eclipse?

How do I report a bug in Eclipse?

How can I search the existing list of bugs in Eclipse?

What do I do if my feature request is ignored?

Can I get my documentation in PDF form, please?

Where do I find documentation for a given extension point?

How is Eclipse licensed?

2. Getting Started.

Where do I get and install Eclipse?

How do I run Eclipse?

How do I increase the heap size available to Eclipse?

Where can I find that elusive .log file?

Does Eclipse run on any Linux distribution?

I unzipped Eclipse, but it won't start. Why?

How do I upgrade Eclipse?

How do I install new plug-ins?

Can I install plug-ins outside the main install directory?

How do I remove a plug-in?

How do I find out what plug-ins have been installed?

Where do I get help?

How do I accommodate project layouts that don't fit the Eclipse model?

What is new in Eclipse 30?

Is Eclipse 30 going to break all of my old plug-ins?

How do I prevent my plug-in from being broken when I update Eclipse?

3. Java Development in Eclipse.

How do I show/hide files like .classpath in the Navigator?

How do I link the Navigator with the currently active editor?

How do I use the keyboard to traverse between editors?

How can I rearrange Eclipse views and editors?

Why doesn't my program start when I click the Run button?

How do I turn off autobuilding of Java code?

How do I hide referenced libraries in the Package Explorer?

Where do my .class files disappear to?

What editor keyboard shortcuts are available?

How do I stop the Java editor from showing a single method at once?

How do I open a type in a Java editor?

How do I control the Java formatter?

How do I choose my own compiler?

What Java refactoring support is available?

How can Content Assist make me the fastest coder ever?

How can templates make me the fastest coder ever?

What is a Quick Fix?

How do I profile my Java program?

How do I debug my Java program?

How do I find out the command-line arguments of a launched program?

What is hot code replace?

How do I set a conditional breakpoint?

How do I find all Java methods that return a String?

What can I view in the Hierarchy view?

How do I add an extra library to my project's classpath?

What is the advantage of sharing the .project file in a repository?

What is the function of the .cvsignore file?

How do I set up a Java project to share in a repository?

Why does the Eclipse compiler create a different serialVersionUID from javac?

4. Plug-in Development Environment.

How do I create a plug-in?

How do I use the plug-in Manifest Editor?

Why doesn't my plug-in build correctly?

How do I run my plug-in in another instance of Eclipse?

What causes my plug-in to build but not to load in a runtime workbench?

My runtime workbench runs, but my plug-in does not show. Why?

How do I add images and other resources to a runtime JAR file?

Can I add icons declared by my plug-in.xml in the runtime JAR?

When does PDE change a plug-in's Java build path?

What is a PDE JUnit test?

Where can I find the Eclipse plug-ins?

How do I find a particular class from an Eclipse plug-in?

Why do I get a "plug-in was unable to load class" error when I activate a menu or toolbar action?

What is the use of the build.xml file?

How do I prevent my build.xml file from being overwritten?

When is the build.xml script executed?

How do I declare my own extension point?74

How do I find all the plug-ins that contribute to my extension point?

Why is the interface for my new extension point not visible?

Can my extension point schema contain nested elements?

How do I create a feature?

How do I synchronize versions between a feature and its plug-in(s)?

What is the Update Manager?

How do I create an update site (site.xml)?

Why does my update site need a license?

II. THE RICH CLIENT PLATFORM.

5. All about Plug-ins.

What is a plug-in?

Do I use plug-in or plug-in?

What is the plug-in manifest file (plug-in.xml)?

How do I make my plug-in connect to other plug-ins?

What are extensions and extension points?

What is an extension point schema?

How do I find out more about a certain extension point?

When does a plug-in get started?

Where do plug-ins store their state?

How do I find out the install location of a plug-in?

What is the classpath of a plug-in?

How do I add a library to the classpath of a plug-in?

How can I share a JAR among various plug-ins?

How do I use the context class loader in Eclipse?

Why doesn't Eclipse play well with Xerces?

What is a plug-in fragment?

Can fragments be used to patch a plug-in?

What is a configuration?

How do I find out whether the Eclipse Platform is running?

Where does System.out and System.err output go?

How do I locate the owner plug-in

from a given class?

How does OSGi and the new runtime affect me?

What is a dynamic plug-in?

How do I make my plug-in dynamic enabled?

How do I make my plug-in dynamic aware?

6. Runtime Facilities.

How do I use progress monitors?

How do I use a SubProgressMonitor?

How do I use the platform logging facility?

How do I use the platform debug tracing facility?

How do I load and save plug-in preferences?

How do I use the preference service?

What is a preference scope?

How do I use IAdaptable and IAdapterFactory?

Does the platform have support for concurrency?

How do I prevent two jobs from running at the same time?

What is the purpose of job families?

How do I find out whether a particular job is running?

How can I track the lifecycle of jobs?

How do I create a repeating background task?

7. Standard Widget Toolkit (SWT).

What is SWT?

Why does Eclipse use SWT?

Is SWT platformspecific?

Is SWT better than Swing?

Can I use SWT outside Eclipse for my own project?

Are there any visual composition editors available for SWT?

Why do I have to dispose of colors, fonts, and images?

Why do I get an invalid thread access exception?

How do I get a Display instance?

How do I prompt the user to select a file or a directory?

How do I display a Web page in SWT?

How do I embed AWT and Swing inside SWT?

Where can I find more information on SWT?

8. JFace.

What is a viewer?

What are content and label providers?

What kinds of viewers does JFace provide?

Why should I use a viewer?

How do I sort the contents of a viewer?

How do I filter the contents of a viewer?

How do I use properties to optimize a viewer?

What is a label decorator?

How do I use image and font registries?

What is a wizard?

How do I specify the order of pages in a wizard?

How can I reuse wizard pages in more than one wizard?

Can I reuse wizards from other plug-ins?160

How do I make my wizard appear in the UI?

How do I run a lengthy process in a wizard?

How do I launch the preference page that belongs to my plug-in?

How do I ask a simple yes or no question?

How do I inform the user of a problem?

How do I create a dialog with a details area?

How do I set the title of a custom dialog?165

How do I save settings for a dialog or wizard?

9. Generic Workbench.

Pages, parts, sites, windows: What is all this stuff?

How do I find out what object is selected?

How do I find out what view or editor is selected?

How do I find the active workbench page?

How do I show progress on the workbench status line?

Why should I use the new progress service?

How do I write a message to the workbench status line?

How do I create a label decorator declaratively?

How do I add label decorations to my viewer?

How do I make the workbench shutdown?

How can I use IWorkbenchAdapter to display my model elements? 176

How do I create my own preference page?

How do I use property pages?

How do I open a Property dialog?

How do I add my wizard to the New, Import, or Export menu categories?

Can I activate my plug-in when the workbench starts?

How do I create an image registry for my plug-in?

How do I use images defined by other plug-ins?

How do I show progress for things happening in the background?

How do I switch from using a Progress dialog to the Progress view?

Can I make a job run in the UI thread?

Are there any special Eclipse UI guidelines?

Why do the names of some interfaces end with the digit 2?

10. Perspectives and Views.

How do I create a new perspective?

How can I add my views and actions to an existing perspective?

How do I show a given perspective?

What is the difference between a perspective and a workbench page?

How do I create fixed views and perspectives?

What is a view?

What is the difference between a view and a viewer?

How do I create my own view?

How do I set the size or position of my view?

Why can't I control when, where, and how my view is presented?

How will my view show up in the Show View menu?

How do I make my view appear in the Show In menu?

How do I add actions to a view's menu and toolbar?

How do I make a view respond to selection changes in another view?

How does a view persist its state between sessions?

How do I open multiple instances of the same view?

11. Generic Editors.

What is the difference between a view and an editor?

How do I open an editor programmatically?

How do I open an external editor?

How do I dynamically register an editor to handle a given extension?

How do I switch to vi or emacs-style key bindings?

How do I create my own editor?

How do I enable the Save and Revert actions?

How do I enable global actions such as Cut, Paste, and Print in my editor?

How do I hook my editor to the Back and Forward buttons?

How do I create a form-based editor, such as the plug-in Manifest Editor?

How do I create a graphical editor?

How do I make an editor that contains another editor?

12. Actions, Commands, and Activities.

Actions, commands, operations, jobs: What does it all mean?

What is an action set?

How do I make my action set visible?

How do I add actions to the global toolbar?

How do I add menus to the main menu?

How do I add actions to the main menu?

Why are some actions activated without a target?

Where can I find a list of existing action group names?

What is the difference between a command and an action?

How do I associate an action with a command?

How do I create my own keybinding configuration?

How do I provide a keyboard shortcut for my action?

How can I change the name or tooltip of my action?

How do I hook into global actions, such as Copy and Delete?

How do I build menus and toolbars programmatically?

How do I make menus with dynamic contents?

What is the difference between a toolbar and a cool bar?

Can other plug-ins add actions to my part's context menu?

How do I add other plug-ins' actions to my menus?

What is the purpose of activities?

How do I add activities to my plug-in?

How do activities get enabled?

What is the difference between perspectives and activities?

13. Building Your Own Application.

What is an Eclipse application?

How do I create an application?

What is the minimal Eclipse configuration?

How do I create a Rich Client application?

How do I customize the menus in an RCP application?

How do I make key bindings work in an RCP application?

Can I create an application that doesn't have views or editors?

How do I specify where application data is stored?

Can I create an application that doesn't have a data

location?

14. Productizing an Eclipse Offering.

What is an Eclipse product?

What is the difference between a product and an application?

How do I distribute my Eclipse offering?250

Can I use an installation program to distribute my Eclipse product?251

Can I install my product as an add-on to another product?

Where do I find suitable Eclipse logos and wordmarks?

When do I need to write a plug-in install handler?

How do I support multiple natural languages in my plug-in messages?

How do I replace the Eclipse workbench window icon with my own?254

How do I write my own eclipse.exe platform launcher?

Who shows the Eclipse splash screen?

How can I publish partial upgrades (patches) to my product?

III. THE ECLIPSE IDE PLATFORM.

15. Text Editors.

What support is there for creating custom text editors?

I'm still confused! How do all the editor pieces fit together?

How do I get started with creating a custom text editor?

How do I use the text document model?

What is a document partition?

How do I add Content Assist to my editor?

How do I provide syntax coloring in an editor?

How do I support formatting in my editor?

How do I insert text in the active text editor?

What is the difference between highlight range and selection?

How do I change the selection on a double-click in my editor?

How do I use a model reconciler?

16. Help, Search, and Compare.

How do I add help content to my plug-in?

How do I provide F1 help?

How do I contribute help contexts?

How can I generate HTML and toc.xml files?

How do I write a Search dialog?

How do I implement a search operation?281

How do I display search results?

How can I use and extend the compare infrastructure?

How do I create a Compare dialog?

How do I create a compare editor?

17. Workspace and Resources API.

How are resources created?

Can I create resources that don't reside in the file system?

What is the difference between a path and a location?

When should I use refreshLocal?

How do I create my own tasks, problems, bookmarks, and so on?

How can I be notified of changes to the workspace?

How do I prevent builds between multiple changes to the workspace?

Why should I add my own project nature?

Where can I find information about writing builders?

How do I store extra properties on a resource?

How can I be notified on property changes on a resource?

How and when do I save the workspace?300

How can I be notified when the workspace is being saved?

Where is the workspace local history stored?

How can I repair a workspace that is broken?

What support does the workspace have for team tools?

18. Workbench IDE.

How do I open an editor on a file in the workspace?

How do I open an editor on a file outside the workspace?

How do I open an editor on something that is not a file?

Why don't my markers show up in the Tasks view?

Why don't my markers appear in the editor's vertical ruler?

How do I access the active project?

What are IWorkspaceRunnable, IRunnableWithProgress, and WorkspaceModifyOperation?

How do I write to the console from a plug-in?

How do I prompt the user to select a resource?

Can I use the actions from the Navigator in my own plug-in?.

What APIs exist for integrating repository clients into Eclipse?315

How do I deploy projects to a server and keep the two synchronized?

What is the difference between a repository provider and a team

subscriber?

What is a launch configuration?

When do I use a launch delegate?

What is Ant?

Why can't my Ant build find javac?

How do I add my own external tools?

How do I create an external tool builder?320

19. Implementing Support for Your Own Language.

What is eScript?

Language integration phase 1: How do I compile and build programs?

How do I load source files edited outside Eclipse?

How do I run an external builder on my source files?

How do I implement a compiler that runs inside Eclipse?

How do I react to changes in source files?

How do I implement an Eclipse builder?

Where are project build specifications stored?

How do I add a builder to a given project?

How do I implement an incremental project builder?

How do I handle setup problems for a given builder?

How do I make my compiler incremental?

Language integration phase 2: How do I implement a DOM?

How do I implement a DOM for my language?

How can I ensure that my model is scalable?

Language integration phase 3: How do I edit programs?

How do I write an editor for my own language?

How do I add Content Assist to my language editor?

How do I add hover support to my text editor?

How do I create problem markers for my compiler?

How do I implement Quick Fixes for my own language?

How do I support refactoring for my own language?

How do I create an Outline view for my own language editor?

Language integration phase 4: What are the finishing touches?354

What wizards do I define for my own language?

When does my language need its own nature?

When does my language need its own perspective?

How do I add documentation and help for my own language?

How do I support source-level debugging for my own language?

20. Java Development Tool API.

How do I extend the JDT?

What is the Java model?

How do I create Java elements?

How do I create a Java project?

How do I manipulate Java code?

What is a working copy?

What is a JDOM?

What is an AST?

How do I create and examine an AST?

How do I distinguish between internal and external JARs on the build path?

How do I launch a Java program?

What is JUnit?

How do I participate in a refactoring?

What is LTK?

Index.

商品描述(中文翻譯)

目錄:

前言。

序言。

致謝。

I. ECLIPSE 生態系統。

1. Eclipse 社群。

Eclipse 是什麼?

Eclipse 平台是什麼?

Eclipse 的起源是什麼?

Eclipse 基金會是什麼?

我的使用者如何分辨 Eclipse 的結束與產品的開始?

Eclipse 專案和技術是什麼?

我如何提議自己的專案?

誰在基於 Eclipse 建立商業產品?

有哪些開源專案是基於 Eclipse 的?

有哪些學術研究專案是基於 Eclipse 的?

誰在教室中使用 Eclipse?

什麼是 Eclipse 創新補助金?

有哪些 Eclipse 新聞組可用?

我如何獲得 Eclipse 新聞組的訪問權限?

有哪些 Eclipse 郵件列表可用?

有關 Eclipse 的文章有哪些?

有關 Eclipse 的書籍有哪些?

我如何報告 Eclipse 中的錯誤?

我如何搜尋 Eclipse 中現有的錯誤列表?

如果我的功能請求被忽略,我該怎麼辦?

我可以獲得 PDF 格式的文檔嗎?

我在哪裡可以找到特定擴展點的文檔?

Eclipse 的授權方式是什麼?

2. 開始使用。

我在哪裡可以獲得並安裝 Eclipse?

我如何運行 Eclipse?

我如何增加可用於 Eclipse 的堆大小?

我在哪裡可以找到那個難以捉摸的 .log 文件?

Eclipse 可以在任何 Linux 發行版上運行嗎?

我解壓縮了 Eclipse,但它無法啟動。為什麼?

我如何升級 Eclipse?

我如何安裝新的插件?

我可以在主安裝目錄之外安裝插件嗎?

我如何移除一個插件?

我如何找出已安裝了哪些插件?

我在哪裡可以獲得幫助?

我如何適應不符合 Eclipse 模型的專案佈局?

Eclipse 30 有什麼新功能?

Eclipse 30 會破壞我所有的舊插件嗎?

我如何防止在更新 Eclipse 時我的插件被破壞?

3. 在 Eclipse 中的 Java 開發。

我如何在導航器中顯示/隱藏 .classpath 等文件?

我如何將導航器與當前活動編輯器鏈接?

我如何使用鍵盤在編輯器之間切換?

我如何重新排列 Eclipse 的視圖和編輯器?

為什麼當我點擊運行按鈕時我的程式不啟動?

我如何關閉 Java 代碼的自動構建?

我如何在包資源管理器中隱藏引用的庫?

我的 .class 文件去哪裡了?

有哪些編輯器鍵盤快捷鍵可用?

我如何停止 Java 編輯器一次顯示一個方法?

我如何在 Java 編輯器中打開一個類型?

我如何控制 Java 格式化器?

我如何選擇自己的編譯器?

有哪些 Java 重構支持可用?

內容輔助如何讓我成為最快的編碼者?

模板如何讓我成為最快的編碼者?

什麼是快速修復?

我如何分析我的 Java 程式?

我如何調試我的 Java 程式?

我如何找出啟動程式的命令行參數?

什麼是熱代碼替換?

我如何設置條件斷點?

我如何找到所有返回 String 的 Java 方法?

我可以在層次視圖中查看什麼?

我如何將額外的庫添加到我的專案的類路徑中?

在版本庫中共享 .project 文件的優勢是什麼?

.cvsignore 文件的功能是什麼?

我如何設置一個 Java 專案以便在版本庫中共享?

為什麼 Eclipse 編譯器會生成與 javac 不同的 serialVersionUID?

4. 插件開發環境。

我如何創建一個插件?

我如何使用插件清單編輯器?

為什麼我的插件無法正確構建?

我如何在另一個 Eclipse 實例中運行我的插件?

什麼原因導致我的插件構建但無法在運行時工作台中加載?

我的運行時工作台運行,但我的插件不顯示。為什麼?

我如何將圖像和其他資源添加到運行時 JAR 文件中?

我可以在運行時 JAR 中添加由我的 plugin.xml 聲明的圖標嗎?

PDE 何時會更改插件的 Java 構建路徑?

什麼是 PDE JUnit 測試?

我在哪裡可以找到 Eclipse 插件?

我如何從 Eclipse 插件中找到特定類?

為什麼當我激活菜單或工具欄操作時會出現“插件無法加載類”的錯誤?

build.xml 文件的用途是什麼?

我如何防止我的 build.xml 文件被覆蓋?

build.xml 腳本何時執行?

我如何聲明自己的擴展點?

我如何找到所有貢獻於我的擴展點的插件?

為什麼我的新擴展點的介面不可見?

我的擴展點架構可以包含嵌套元素嗎?

我如何創建一個功能?

我如何在功能和其插件之間同步版本?

什麼是更新管理器?

我如何創建一個更新站點 (site.xml)?

為什麼我的更新站點需要許可證?

II. 豐富客戶端平台。

5. 插件的所有資訊。

什麼是插件?

我應該使用 plugin 還是 plug-in?

什麼是插件清單文件 (plugin.xml)?

我如何讓我的插件連接到其他插件?

什麼是擴展和擴展點?

什麼是擴展點架構?

我如何了解更多有關某個擴展點的信息?

插件何時啟動?

插件如何存儲其狀態?

我如何找出插件的安裝位置?

插件的類路徑是什麼?

我如何將庫添加到插件的類路徑中?

我如何在各個插件之間共享 JAR?

我如何在 Eclipse 中使用上下文類加載器?

為什麼 Eclipse 與 Xerces 的兼容性不好?

什麼是插件片段?

片段可以用來修補插件嗎?

什麼是配置?

我如何找出 Eclipse 平台是否正在運行?

System.out 和 System.err 的輸出去哪裡了?

我如何定位給定類的擁有者插件?

OSGi 和新運行時對我有什麼影響?

什麼是動態插件?

我如何使我的插件動態啟用?

我如何使我的插件動態感知?

6. 運行時設施。

我如何使用進度監視器?

我如何使用 SubProgressMonitor?

我如何使用平台日誌設施?

我如何使用平台調試跟蹤設施?

我如何加載和保存插件偏好設置?

我如何使用偏好服務?

什麼是偏好範圍?

我如何使用 IAdaptable 和 IAdapterFactory?

平台是否支持並發?

我如何防止兩個任務同時運行?

任務家族的目的何在?

我如何找出特定任務是否正在運行?

我如何跟蹤任務的生命週期?

我如何創建重複的背景任務?

7. 標準小部件工具包 (SWT)。

什麼是 SWT?

為什麼 Eclipse 使用 SWT?

SWT 是平台特定的嗎?

SWT 比 Swing 更好嗎?

我可以在 Eclipse 之外的專案中使用 SWT 嗎?

有可用的 SWT 視覺組合編輯器嗎?

為什麼我必須處理顏色、字體和圖像?

為什麼我會收到無效的線程訪問異常?

我如何獲取 Display 實例?

我如何提示用戶選擇文件或目錄?

我如何在 SWT 中顯示網頁?

我如何在 SWT 中嵌入 AWT 和 Swing?

我在哪裡可以找到有關 SWT 的更多信息?

8. JFace。

什麼是查看器?

內容和標籤提供者是什麼?

JFace 提供了哪些類型的查看器?

為什麼我應該使用查看器?

我如何對查看器的內容進行排序?

我如何過濾查看器的內容?

我如何使用屬性來優化查看器?

什麼是標籤裝飾器?

我如何使用圖像和字體註冊表?

什麼是向導?

我如何指定向導中頁面的順序?

我如何在多個向導中重用向導頁面?

我可以重用來自其他插件的向導嗎?

我如何讓我的向導出現在 UI 中?

我如何在向導中運行長時間的過程?

我如何啟動屬於我的插件的偏好頁面?

我如何提出簡單的是或否問題?

我如何告知用戶問題?

我如何創建帶有詳細區域的對話框?

我如何設置自定義對話框的標題?

我如何保存對話框或向導的設置?

9. 通用工作台。

頁面、部分、站點、窗口:這些都是什麼?

我如何找出選定的對象是什麼?

我如何找出選定的視圖或編輯器是什麼?

我如何找出當前活動的工作台頁面?

我如何在工作台狀態行上顯示進度?

為什麼我應該使用新的進度服務?

我如何向工作台狀態行寫消息?

我如何以聲明方式創建標籤裝飾器?

我如何向我的查看器添加標籤裝飾?

我如何使工作台關閉?

我如何使用 IWorkbenchAdapter 顯示我的模型元素?

我如何創建自己的偏好頁面?

我如何使用屬性頁面?

我如何打開屬性對話框?

我如何將我的向導添加到新建、導入或導出菜單類別中?

我可以在工作台啟動時激活我的插件嗎?

我如何為我的插件創建圖像註冊表?

我如何使用其他插件定義的圖像?

我如何顯示背景中發生的事情的進度?

我如何從使用進度對話框切換到進度視圖?

我可以讓任務在 UI 線程中運行嗎?

有沒有特殊的 Eclipse UI 指導方針?

為什麼某些介面的名稱以數字 2 結尾?

10. 透視圖和視圖。

我如何創建新的透視圖?

我如何將我的視圖和操作添加到現有的透視圖中?

我如何顯示特定的透視圖?

透視圖和工作台頁面之間有什麼區別?

我如何創建固定的視圖和透視圖?

什麼是視圖?

視圖和查看器之間有什麼區別?

我如何創建自己的視圖?

我如何設置我的視圖的大小或位置?