Programmer's Guide
Guide
Welcome to Eclipse
Who needs a platform?
The holy grail
What is Eclipse?
Go to eclipse.org
Platform architecture
Platform SDK roadmap
Simple plug-in example
A minimal plug-in
Installing and running the plug-in
Beyond the basics
Resources overview
Resources and the workspace
Resources and the local file system
Resource properties
Beyond the basics
Plugging into the workbench
Workbench under the covers
Basic workbench extension points
org.eclipse.ui.views
org.eclipse.ui.viewActions
org.eclipse.ui.editors
org.eclipse.ui.editorActions
org.eclipse.ui.popupMenus
org.eclipse.ui.actionSets
org.eclipse.ui.actionSetPartAssociations
The plug-in class
Workbench menu contributions
Menu and toolbar paths
Boolean expressions and action filters
More workbench extensions
org.eclipse.ui.perspectives
org.eclipse.ui.perspectiveExtensions
org.eclipse.ui.elementFactories
org.eclipse.ui.resourceFilters
org.eclipse.ui.decorators
Beyond the basics
Dialogs and wizards
Standard dialogs
Application dialogs
Dialog settings
Wizards
Workbench wizard extension points
org.eclipse.ui.newWizards
org.eclipse.ui.importWizards
org.eclipse.ui.exportWizards
Wizard dialogs
Multi-page wizards
Preferences and properties
Preferences
Contributing a preference page
Implementing a preference page
Field editors
Property pages
Contributing a property page
Implementing a property page
JFace UI framework
Viewers
Actions and contributions
User interface resources
Long-running operations
Standard Widget Toolkit
Widgets
Controls
Events
Custom widgets
Layouts
FillLayout
RowLayout
FormLayout
GridLayout
Custom Layouts
Threading issues
Error handling
Graphics
Editors
Workbench editors
Text editors and JFace text
Content outliners
Resource and workspace API
Resource markers
Tracking resource changes
Incremental project builders
Workspace save participation
Project natures
Derived resources
Resource modification hooks
Advanced workbench concepts
Marker help and resolution
Contributing marker help
Contributing marker resolution
Accessible user interfaces
Workbench key bindings
Action definitions
Accelerator sets
Accelerator configurations
Accelerator scopes
Honoring single click support
Text file encoding
Working sets
Retargetable actions
Setting a global action handler
Contributing new retargetable actions
Retargetable editor actions
Retargetable action set actions
Compare support
Implementing a structure compare viewer
Implementing a content compare viewer
Beyond the basics
Team support
Building an integrated team provider
Repository providers
Defining a provider
Implementing a provider
Resource modification hooks
Finding a provider
Repository resource management
File types
Project sets
Team private resources
Building a team UI
Configuring a project
Adding team actions
Team decorators
Adding preferences and properties
Program debug and launch support
Launching a program
Adding launchers to the platform
Handling errors from a launched program
Launch configuration dialog
Launch configuration type images
Launch shortcuts
Debugging a program
Platform debug model
Breakpoints
Expressions
Debug model presentation
Debug UI utility classes
Debug action groups
Plugging in help
Building a help plug-in
Table of contents (toc) files
Help server and file locations
Completing the plug-in manifest
Building nested documentation structures
Infopops
Declaring a context id
Describing and packaging infopop content
Active help
Writing the help action
Invoking the action from HTML
Tips for debugging active help
Platform Ant support
Running Ant build files programmatically
Ant tasks provided by the platform
Contributing tasks and types
Expanding the Ant classpath
Packaging and delivering Eclipse based products
What is a product?
Features
Primary feature
Plug-ins and fragments
Locale specific files
Customizing a product
Product installation guidelines
Product extensions
Updating a product or extension