Home > Store

Eclipse: Building Commercial-Quality Plug-ins, 2nd Edition

Register your product to gain access to bonus material or receive a coupon.

Eclipse: Building Commercial-Quality Plug-ins, 2nd Edition

eBook (Watermarked)

  • Your Price: $38.39
  • List Price: $47.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.


  • Copyright 2006
  • Edition: 2nd
  • eBook (Watermarked)
  • ISBN-10: 0-13-279992-8
  • ISBN-13: 978-0-13-279992-8

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.

  • Includes a quick introduction to Eclipse for experienced Java programmers
  • Serves as a systematic reference for experienced Eclipse users
  • Introduces all the tools you need to build Eclipse and Rational plug-ins
  • Explains the Eclipse architecture and the structure of plug-ins and extension points
  • Offers practical guidance on building Eclipse user interfaces with SWT and JFace
  • Shows how to use change tracking, perspectives, builders, markers, natures, and more
  • Covers internationalization, help systems, features, and branding

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.

Sample Content

Table of Contents

Foreword by Skip McGaughey xxxi
Foreword by Simon Archer xxxiii
Preface xxxv
Chapter 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

Chapter 2: A Simple Plug-in Example 65

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

Chapter 3: Eclipse Infrastructure 101

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

Chapter 4: The Standard Widget Toolkit 127

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

Chapter 5: JFace Viewers 185

5.1  List-Oriented Viewers 185
5.2  Text Viewers 203
5.3  Summary 206

Chapter 6: Actions 207

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

Chapter 7: Views 259

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

Chapter 8: Editors 325

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

Chapter 9: Resource Change Tracking 375

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

Chapter 10: Perspectives 389

10.1  Creating a Perspective 389
10.2  Enhancing an Existing Perspective 396
10.3  RFRS Considerations 403
10.4  Summary 404

Chapter 11: Dialogs and Wizards 40511.1  Dialogs 405
11.2  Wizards 430
11.3  RFRS Considerations 449
11.4  Summary 450Chapter 12: Preference Pages 451

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

Chapter 13: Properties 477

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

Chapter 14: Builders, Markers, and Natures 497

14.1  Builders 499
14.2  Markers 512
14.3  Natures 525
14.4  RFRS Considerations 535
14.5  Summary 537

Chapter 15: Implementing Help 539

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

Chapter 16: Internationalization 575

16.1  Externalizing the Plug-in Manifest 576
16.2  Externalizing Plug-in Strings 578
16.3  Using Fragments 587
16.4  Summary 594

Chapter 17: Creating New Extension Points 595

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

Chapter 18: Features, Branding, and Updates 619

18.1  Feature Projects 620
18.2  Branding 631
18.3  Update Sites 637
18.4  RFRS Considerations 647
18.5  Summary 648

Chapter 19: Building a Product 651

19.1  A Brief Introduction to Ant 651
19.2  Building the Favorites Product 671
19.3  Summary 707

Chapter 20: Advanced Topics 709

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

Appendix A: Eclipse Plug-ins and Resources 751

A.1  Plug-ins 751
A.2  Resources 760

Appendix B: Ready for Rational Software  765Index 767


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership