A new edition of this title is available, ISBN-10: 0321553462 ISBN-13: 9780321553461
"I'm often asked, 'What are the best books about Eclipse?' Number one on my list, every time, is Eclipse: Building Commercial-Quality Plug-ins. I find it to be the clearest and most relevant book about Eclipse for the real-world software developer. Other Eclipse books focus on the internal Eclipse architecture or on repeating the Eclipse documentation, whereas this book is laser focused on the issues and concepts that matter when you're trying to build a product."
-- Bjorn Freeman-Benson
Director, Open Source Process, Eclipse Foundation 
"As the title suggests, this massive tome is intended as a guide to best practices for writing Eclipse plug-ins. I think in that respect it succeeds handily. Before you even think about distributing a plug-in you've written, read this book."
-- Ernest Friedman-Hill
Sheriff, JavaRanch.com
"Eclipse: Building Commercial-Quality Plug-ins was an invaluable training aid for all of our team members. In fact, training our team without the use of this book as a base would have been virtually impossible. It is now required reading for all our developers and helped us deliver a brand-new, very complex product on time and on budget thanks to the great job this book does of explaining the process of building plug-ins for Eclipse."
-- Bruce Gruenbaum
"This is easily one of the most useful books I own. If you are new to developing Eclipse plug-ins, it is a 'must-have' that will save you lots of time and effort. You will find lots of good advice in here, especially things that will help add a whole layer of professionalism and completeness to any plug-in. The book is very focused, well-structured, thorough, clearly written, and doesn't contain a single page of 'waffly page filler.' The diagrams explaining the relationships between the different components and manifest sections are excellent and aid in understanding how everything fits together. This book goes well beyond Actions, Views, and Editors, and I think everyone will benefit from the authors' experience. I certainly have."
-- Tony Saveski
"The authors of this seminal book have decades of proven experience with the most productive and robust software engineering technologies ever developed. Their experiences have now been well applied to the use of Eclipse for more effective Java development. A must-have for any serious software engineering professional!"
-- Ed Klimas
"Just wanted to also let you know this is an excellent book! Thanks for putting forth the effort to create a book that is easy to read and technical at the same time!"
-- Brooke Hedrick
"The key to developing great plug-ins for Eclipse is understanding where and how to extend the IDE, and that's what this book gives you. It is a must for serious plug-in developers, especially those building commercial applications. I wouldn't be without it."
-- Brian Wilkerson
"If you're looking for just one Eclipse plug-in development book that will be your guide, this is the one. While there are other books available on Eclipse, few dive as deep as Eclipse: Building Commercial-Quality Plug-ins." 
-- Simon Archer
Eclipse has established itself as a dominant force in the application-development space. Key to the success of Eclipse is the ability of developers to extend its functionality using plug-ins.
This new edition of Eclipse: Building Commercial-Quality Plug-ins is the definitive, start-to-finish guide to building commercial-quality Eclipse plug-ins, with an emphasis on adding the sophistication and polish that paying customers demand. The book provides both a quick introduction to using Eclipse for new users and a reference for experienced Eclipse users wishing to expand their knowledge and improve the quality of their Eclipse-based products.
Revised to take advantage of pure Eclipse 3.1 and 3.2 APIs, this widely praised bestseller presents detailed, practical coverage of every aspect of plug-in development and specific solutions for the challenges developers are most likely to encounter. All code examples, relevant API listings, diagrams, and screen captures have been updated.
Some Eclipse concepts--such as actions, views, and editors--have not changed radically, but now have additional functionality and capabilities. Other areas, such as the Eclipse plug-in infrastructure, have changed drastically due to the Eclipse shift towards an OSGi-based infrastructure. This edition is fully updated to address these new advances for Eclipse developers.
This book is designed for anyone who wants a deep understanding of Eclipse, and every experienced developer interested in extending Eclipse or the Rational Software Development Platform.
Download the Sample Chapter related to this title.
Foreword by Skip McGaughey xxxi
Foreword by Simon Archer xxxiii
Preface xxxvChapter 1:  Using Eclipse Tools 1
1.1  Getting Started  1
1.2  The Eclipse Workbench  3
1.3  Setting Up Your Environment  14
1.4  Creating a Project  19
1.5  Navigating  26
1.6  Searching  28
1.7  Writing Code  34
1.8  Team Development Using CVS  48
1.9  Running Applications  54
1.10 Introduction to Debugging  58
1.11 Introduction to Testing  61
1.12 Summary  63
2.1  The Favorites Plug-in  65
2.2  Creating a Plug-in Project  66
2.3  Reviewing the Generated Code  71
2.4  Building a Product  81
2.5  Installing and Running the Product  86
2.6  Debugging the Product  88
2.7  PDE Views  90
2.8  Writing Plug-in Tests  92
2.9  Summary  98
3.1  Structural Overview  101
3.2  Plug-in Directory or JAR file  104
3.3  Plug-in Manifest  107
3.4  Plug-in Class  114
3.5  Plug-in Model  119
3.6  Logging  122
3.7  Eclipse Plug-ins  124
3.8  Summary  125
4.1  SWT History and Goals  127
4.2  SWT Widgets  130
4.3  Layout Management  170
4.4  Resource Management  180
4.5  Summary  181
5.1  List-Oriented Viewers  185
5.2  Text Viewers  203
5.3  Summary  206
6.1  IAction versus IActionDelegate 207
6.2  Workbench Window Actions  209
6.3  Object Actions   224
6.4  View Actions  237
6.5  Editor Actions  244
6.6  Key Bindings  251
6.7  RFRS Considerations  256
6.8  Summary  257
7.1  View Declaration  261
7.2  View Part  263
7.3  View Actions  283
7.4  Linking the View  305
7.5  Saving View State  308
7.6  Testing  314
7.7  Image Caching   315
7.8  Auto-sizing Table Columns  316
7.9  RFRS Considerations  319
7.10  Summary  323
8.1  Editor Declaration  326
8.2  Editor Part  330
8.3  Editing  344
8.4  Editor Lifecycle  350
8.5  Editor Actions  354
8.6  Linking the Editor  369
8.7  RFRS Considerations  369
8.8  Summary  374
9.1  IResourceChangeListener  375
9.2  Processing Change Events  379
9.3  Batching Change Events  382
9.4  Progress Monitor  383
9.5  Delayed Changed Events  387
9.6  Summary  388
10.1  Creating a Perspective  389
10.2  Enhancing an Existing Perspective  396
10.3  RFRS Considerations  403
10.4  Summary  404
12.1 Creating a Preference Page  451
12.2 Preference Page APIs  453
12.3 Preference APIs  467
12.4 RFRS Considerations  474
12.5 Summary  475
13.1  Creating Properties  477
13.2  Displaying Properties in the Properties Dialog  481
13.3  Displaying Properties in the Properties View  489
13.4  Property Pages Reused as Preference Pages  493
13.5  RFRS Considerations  495
13.6  Summary  495
14.1  Builders  499
14.2  Markers  512
14.3  Natures  525
14.4  RFRS Considerations  535
14.5  Summary  537
15.1  Using Help  539
15.2  Implementing Help  542
15.3  Context-Sensitive Help (F1)   552
15.4  Accessing Help Programmatically  560
15.5  Cheat Sheets  563
15.6  RFRS Considerations  570
15.7  Summary  574
16.1  Externalizing the Plug-in Manifest  576
16.2  Externalizing Plug-in Strings  578
16.3  Using Fragments  587
16.4  Summary  594
17.1  The Extension Point Mechanism  595
17.2  Defining an Extension Point  597
17.3  Code Behind an Extension Point  607
17.4  Extension Point Documentation  614
17.5  Using the Extension Point  615
17.6  RFRS Considerations  617
17.7  Summary  618
18.1  Feature Projects  620
18.2  Branding  631
18.3  Update Sites  637
18.4  RFRS Considerations  647
18.5  Summary  648
19.1  A Brief Introduction to Ant  651
19.2  Building the Favorites Product  671
19.3  Summary  707
20.1  Advanced Search--Reference Projects  710
20.2  Accessing Internal Code  711
20.3  Adapters  714
20.4  Opening a Browser or Creating an Email  718
20.5  Types Specified in an Extension Point  723
20.6  Modifying Eclipse to Find Part Identifiers  727
20.7  Label Decorators  732
20.8  Background Tasks--Jobs API  739
20.9  Plug-in  ClassLoaders  742
20.10  Early Startup  747
20.11  Rich Client Platform  748
20.12  Conclusion  749
A.1  Plug-ins  751
A.2  Resources  760
Download the Foreword related to this title.
Download the Index file related to this title.
