Extension Points
Introduction
Extension points allow you to hook functionality into various areas of the Studio Pro IDE. Extension point is a base class that you as an extension developer can inherit from. Your functionality will then be loaded by Studio Pro. These classes all have the *Extension
suffix, inherit from ExtensionBase
base class, and contain a few virtual or abstract members.
Extension point is the only way you can add a custom behavior to Studio Pro. The rest of the APIs are there only to aid with implementing or expressing these behaviors.
To be injected, your class must be decorated with ExportAttribute like in the example above. This attribute is part of Managed Extensibility Framework that is employed by Studio Pro.
List of Available Extension Points
Studio Pro UI Extensions
-
ContextMenuExtension – This allows injecting new context menu items into model elements.
-
MenuExtension – This allows injecting new menu items into Studio Pro menu bar.
-
DockablePaneExtension – allows introducing new dockable pane like Connector or Documentation. Panes integrate with Studio Pro layout system automatically.
It is advised to introduce a new View menu item for each pane, so that Studio Pro users have a way to open it.
Additionally, there are additional features that provide access to the following:
- Studio Pro configuration
- The currently opened app, as well as event subscription mechanism to that app
- Events can be subscribed to by using the subscribe and unsubscribe methods exposed in UIExtensionBase.
Studio Pro and MxBuild Extensions
- ConsistencyCheckExtension – This allows injecting custom logic into the Consistency check process.