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?
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 crea...