Здравствуйте, уважаемые читатели. Суровый челябинский программист вернулся из земли Египетской, акклиматизировался и готов порадовать вас новой статьей (хотя, конечно, переход от +28 к - 20 это жестоко).
Сегодня мы поговорим об основном на сегодняшний день  механизме расширения функциональности разрабатываемого Eclipse-плагина - о точках расширения, которые появились еще тогда, когда Eclipse не базировался на технологии 
OSGi и не мог использовать сервисы, события и прочие полезные вещи, предоставляемые этой платформой. 
Суть заключается в следующем: в корне плагина находится файл 
plugin.xml, в котором содержатся объявления точек расширения (тег 
extension-point) - элементов описывающих те места системы, которые можно расширять. В платформе 
Eclipse RCP определены точки расширения для регистрации своих 
адаптеров, видов, перспектив, пунктов меню, кнопочек на панели быстрого запуска и т.д. и т.п. 
Точка расширения характеризуется уникальным идентификатором (атрибут 
id, который обычно задают, придерживаясь доменной модели, как и java-пакеты; именем (атрибут 
name), служащим больше для удобства программиста, и схемой (атрибут 
scheme) - путем к exsd-файлу, который содержит 
XScheme, описывающую формат расширения.
Само расширение описывается внутри тега 
extension, который содержит xml-код, удовлетворяющий схеме, заданной при создании точки расширения. Т.е. если абстрагироваться от деталей, то в бандле, предоставляющем какой-то расширяемый механизм, мы описываем точку расширения (
extension-point), а в других бандлах (которых естественно может быть - несколько) - расширения (
extension).