Add extensions to DSL definitions

DSL Definition extension allows you to create a package of extensions for a domain-specific language (DSL). The DSL extension, which is contained in a Visual Studio Integration Extension (VSIX), can be installed on a user's computer in the same manner as a DSL. The other features can be dynamically enabled and disabled at runtime. DSLs don't have to be explicitly designed for the extension. Extensions can be designed later, or by third parties, without altering the extended DSL.

DSL extension features

DSL extensions can include the following features:

  • Properties for model and presentation elements
  • Decorators for shapes and connectors
  • Classes, relationships, shapes, and connectors
  • Validation constraints
  • Toolbox items and tabs

A user of an extended DSL can create and save a model that contains instances of the added features. The model can be read by other users who have installed the appropriate extension. Users who haven't installed the extension can't use the extra features. They can update and save a model without losing the extra features.

Note

The Text Template Transformation component is automatically installed as part of the Visual Studio extension development workload. You can also install it from the Individual components tab of Visual Studio Installer, under the SDKs, libraries, and frameworks category. Install the Modeling SDK component from the Individual components tab.