Eclipse has in many ways become synonymous with open source development and can be used to develop code for all sorts of projects and in many languages. Of course there are many other open source IDEs available including NetBeans, VIM, emacs & Geany; and while they are all very good at what they do, none of them try to be the “Jack of all trades” that Eclipse is.
And sure the Eclipse IDE isn’t perfect. And some of the IDE’s I cited above can be better than Eclipse in one or more aspects. But Eclipse does almost everything really well. How does Eclipse achieve this? Simple….plug-ins. What really makes Eclipse stand out from other IDE’s is the wide variety of plug-ins available for Eclipse that enable among many other things:
- GDB integration (CDT/ GDB Hardware Debugging plug-in),
- Remote control of the target system (RSE plug-in),
- ARM microcontroller development (GNU ARM Eclipse plugin).
- I/O register view for debugging firmware for microcontrollers (Eclipse Embedded Systems register view)
The Eclipse plug-ins are like “super powers” that can add needed functionality to Eclipse. Eclipse plugins are also the reason why many commercial development suites such as those created by Atollic, Code Red, TI (Code composer) and Freescale (CodeWarrior) are based on Eclipse. These companies only have to develop Eclipse plug-ins related to their products to enable developers to develop code for their particular hardware platforms.
So are you a regular user of the Eclipse IDE? Do you need additional functionality in Eclipse but couldn’t find any available plug-in that met your specific requirements? Why not roll your own!!!! The “Eclipse 4 Plug-in Development By Example” book written by Dr. Alex Blewitt and published by Packtpub is a great introductory book on Eclipse plug-in development. The book is ideal for beginners and allows the reader to get their hands dirty in Eclipse plug-in development from the very first chapter.
The book expects the reader to have some knowledge of programming; specifically in Java. Most people who have some experience programming in other languages should have little difficulty going through the book, especially if they have a good book on Java handy.
The abundance of the hands-on “Time for action” tutorials makes the book ideal for those that learn by doing. In addition, the book provides ample and detailed explanations of the activities going on in these tutorials to reinforce the readers understanding. The Author’s mastery of the subject matter shines across all 10 chapters of the book. I specifically liked Chapter 7 “Understanding The Eclipse 4 Model” Which describes the model for Eclipse 4.x and points out how it differs from the earlier Eclipse 3.x Model.
But this book goes far beyond that. Not only does it explain how to develop Eclipse plug-ins, it also explains in considerable detail how to debug/test and deploy your custom plug-in masterpieces .
I highly recommend this book for those that want to develop their own plugins. To learn more about this book and its contents please visit the book’s site.
A brief overview of the book contents is provided below:
- Chapter 1, Creating Your First Plug-in, provides an overview of how to download Eclipse, set it up for plug-in development, create a sample plug-in, launch, and debug it.
- Chapter 2, Creating Views with SWT, provides an overview of how to build views with SWT, along with other custom SWT components such as system trays and resource management.
- Chapter 3, Creating JFace Viewers, discusses creating views with JFace using TableViewers and TreeViewers, along with integration with the properties view and user interaction.
- Chapter 4, Interacting with the User, discusses using commands, handlers, and menus to interact with the user, as well as the Jobs and Progress APIs.
- Chapter 5, Storing Preferences and Settings, tells how to store preference information persistently, as well as displaying it via the preferences pages.
- Chapter 6, Working with Resources, teaches how to load and create Resources in the workbench, as well as how to create a builder and nature for automated processing.
- Chapter 7, Understanding the Eclipse 4 Model, discusses the key differences between the Eclipse 3.x and Eclipse 4.x models, as well as how to migrate existing content to the new model.
- Chapter 8, Creating Features, Update Sites, Applications, and Products, tells how to take the plug-ins created so far in this book, aggregate them into features, publish to update sites, and how applications and products are used to create standalone entities.
Chapter 9, Automated Testing of Plug-ins, teaches how to write automated tests that exercise Eclipse plug-ins, including both UI and non-UI components.
- Chapter 10, Automated builds with Tycho, details how to build Eclipse plug-ins, features, update sites, applications, and products automatically with Maven Tycho.