VSX - DSL Tools
This section includes learning content for VSX topics related to DSL Tools.
Articles
How-Do-I Videos
- How Do I: Deploy my Domain Model to Other Developers?
(17 minutes 55 seconds)
Create a setup project for a Domain Specific language you have developed. Dylan Miles demonstrates this and another useful application of the T4 text template engine, generating Windows Installer XML (WiX) files for a WiX setup project.
- How Do I: Add Validation To My DSL?
(17 minutes 3 seconds)
In this video, Hilton Giesenow demonstrates how to add validation into your Domain Specific Language to ensure that certain rules are enforced on the domain objects in the DSL designer, both for a specific domain object but also across linked objects.
- How Do I: Create And Use T4 Templates?
(25 minutes 1 seconds)
Learn about the Text Templating Transformation Toolkit (T4), the code generation engine used as part of Domain Specific Languages and Software Factories projects. With the T4 toolkit now built directly into Visual Studio 2008, you can easily add code generation to your arsenal. Hilton Giesenow demonstrates how.
- How Do I: Get Started with the Visual Studio Domain Specific Languages?
(12 minutes 38 seconds)
Learn what the Domain-Specific Language (DSL) tools are in the Visual Studio Software Development Kit (SDK). Dylan Miles briefly explains some of the main concepts and how to get started.
- How Do I: Generate Code from my Domain Specific Language using DSL Tools?
(21 minutes 31 seconds)
Use the power text template engine built into Domain-Specific Language (DSL) Tools to generate code from a model created by a Domain-Specific Language. Dylan Miles shows you how.
- How Do I: Create and Customize My Domain Specific Language?
(22 minutes 10 seconds)
Learn how to create and customize your own Domain Specific Language using Visual Studio DSL Tools. Dylan Miles shows you the basics of creating your own domain classes, changing the visual properties of shapes, and adding your own custom properties.
- How Do I: Use Advanced Customization?
(26 minutes 8 seconds)
Learn how to override functionality in the generated code of your Domain Specific Language. Dylan Miles explains how using a custom constructor, custom storage for your shape and domain classes as well as hooking events to your shape classes.
Videos
- DSL Tools
Stuart Kent (DSL_Tools_Webcast.wmv, 76 minutes, 29MB)
Visual Studio provides a great set of development tools out of the box. What many developers do not realize is that Visual Studio is also an open and extensible platform. Two key components of this platform are DSL Tools and the text templating framework. DSL Tools is used to create Visual Studio hosted designers for domain specific graphical languages, and the text templating framework is used to create generators that take various kinds of information as input and output text files which combine that information with boilerplate text in the templates. One use of text templates is to write code generators. This session shows how these two technologies can be combined to produce custom tools to support domain specific software development, where DSLs are used to create models which provide exactly the correct inputs to drive code generators built using text templates. The session will also explain how DSL Tools uses domain specific development itself for creating graphical designers, so includes a designer for designing DSLs and code generators that take a DSL definition as input and output the code that implement a designer hosted in Visual Studio.
- Extending DSLs
Gareth Jones and Wojtek Kozaczynski (Extending_DSLs_Webcast.wmv, 55 minutes, 482MB)
The Domain-Specific Language Tools for Visual Studio provide an expressive and powerful code-generation engine and a framework for model validation. Out-of-the-box, both of these features are geared towards getting a quick start on medium-scale projects, but they provide APIs to take them much further. Come learn how the patterns and practices team worked with the Visual Studio Extensibility team to build on those APIs to create a framework for large-scale code-generation and validation based on binary extensibility of DSLs.
Webcasts
- Domain-Specific Development with Visual Studio DSL
Gareth Jones (MSDN Webcast, 60 minutes)
Microsoft Visual Studio provides a great set of built-in development tools, and an open and extensible platform. Two key components of this platform are Domain-Specific Language (DSL) Tools and the text templating framework. In this webcast, we show how these technologies can be combined to produce custom tools to support domain-specific software development, where DSLs are used to create models that provide exactly the correct inputs to drive code generators built using text templates. We also explain how DSL Tools use domain-specific development itself for creating graphical designers.
Samples
- DSL Custom Tool sample
This sample shows how to create a custom tool that runs directly against a Domain-Specific Language ("DSL") model file, using T4 to generate the code.
- DSL Navigation sample
This sample language demonstrates techniques to facilitate navigation in Domain-Specific Language ("DSL") designers.
- TTxGen
TTxGen is a generic single file generator based on the text templating engine.
- JaDAL - Just another DSL-Tools Addon Library
A few classes and features for enhancement of the Microsoft DSL Tools with: Compartment Mappings, Dynamic Properties, User Restrictions and CanDelete() for ModelElements.
- Storyboard Designer
The Storyboard Designer is a sample application running on top of the VS Shell Isolated mode. It is composed of a DSL with many UI customizations, a custom project and custom VS templates. The purpose of this sample is show how to integrate existing VSX and DSL assets to a VS Shell Isolated application.
Tools