Vue d'ensemble des outils de langage spécifique à un domaineOverview of Domain-Specific Language Tools

Outils Domain-Specific Language (outils DSL), qui sont hébergés dans Visual Studio, vous permettent de concevoir un langage spécifique à un domaine et de générer tout ce que les utilisateurs doivent disposer pour créer des modèles qui sont basés sur le langage.Domain-Specific Language Tools (DSL Tools), which are hosted in Visual Studio, let you design a domain-specific language and then generate everything that users must have to create models that are based on the language.

Les outils suivants sont inclus dans les outils DSL :The following tools are included in DSL Tools:

  • Un Assistant de projet qui utilise des modèles de solution différents pour vous aider à commencer à développer votre langage spécifique à un domaine.A project wizard that uses different solution templates to help you start developing your domain-specific language.

  • Un concepteur graphique pour créer et modifier votre définition de langage spécifique à un domaine.A graphical designer for creating and editing your domain-specific language definition.

  • Un moteur de validation qui permet de s’assurer que la définition de langage spécifique à un domaine est correctement formée et affiche les erreurs et avertissements s’il existe des problèmes.A validation engine that makes sure that the domain-specific language definition is well-formed, and displays errors and warnings if there are problems.

  • Un générateur de code qui prend une définition de langage spécifique à un domaine en tant qu’entrée et génère le code source en tant que sortie.A code generator that takes a domain-specific language definition as input and produces source code as output.

La Solution d’outils DSLThe DSL Tools Solution

L’Assistant Concepteur Domain-Specific fournit les modèles de solution suivants :The Domain-Specific Designer Wizard provides the following solution templates:

  • Flux de tâchesTask Flow

  • Diagrammes de classesClass Diagrams

  • Langage minimalMinimal Language

  • Modèles de composantsComponent Models

  • WPF minimalMinimal WPF

  • Windows.Forms minimalMinimal Windows.Forms

  • Bibliothèque DSLDSL Library

    Pour plus d’informations, consultez choix d’un modèle de Solution de langage spécifique à un domaine.For more information, see Choosing a Domain-Specific Language Solution Template.

    L’Assistant crée une solution Visual Studio qui a les projets suivants :The wizard creates a Visual Studio solution that has the following projects:

  • DSLDsl

    Le projet Dsl définit le langage spécifique à un domaine et ses outils d’éditions et de traitement.The Dsl project defines the domain-specific language and its editing and processing tools.

  • DslPackageDslPackage

    Le projet DslPackage détermine comment les outils de langage intègrent avec Visual Studio.The DslPackage project determines how the language tools integrate with Visual Studio.

L’Interface graphique des outils DSLThe DSL Tools Graphical Interface

Vous pouvez utiliser l’interface graphique d’outils DSL pour ajouter des éléments et des relations à votre langage spécifique à un domaine.You can use the DSL Tools graphical interface to add elements and relationships to your domain-specific language. Une fois que vous avez ajouté les éléments, vous pouvez définir leur apparence en les mappant aux formes, la personnalisation des couleurs et l’ajout d’éléments décoratifs.After you have added the elements, you can define their appearance by mapping them to shapes, customizing colors, and adding decorators. Vous pouvez également ajouter les éléments à la boîte à outils.You can also add the elements to the toolbox.

Validation dans les outils DSLValidation in DSL Tools

DSL offre un niveau de validation pour vous assurer que le modèle de domaine répond aux exigences de base pour la génération de code.Dsl provides one level of validation to make sure that the domain model meets the basic requirements for code generation. En règle générale, lorsque vous créez votre propre langage spécifique à un domaine, vous devez ajouter votre propre validation pour exprimer vos règles de logique métier.Typically, when you create your own domain-specific language, you would add your own validation to express your business logic rules. Pour plus d’informations sur la validation personnalisée, consultez Validation dans un langage spécifique à un domaine.For more information about custom validation, see Validation in a Domain-Specific Language.

Nous vous recommandons de valider votre langage spécifique à un domaine souvent lors de sa création.We recommend that you validate your domain-specific language often when you are designing it. Si votre langage spécifique à un domaine comporte des erreurs de validation, vous ne pouvez pas générer le code source.If your domain-specific language has validation errors, you cannot generate source code. Le processus de génération de code source à partir des modèles est effectué en cliquant sur transformer tous les modèles dans la barre d’outils de l’Explorateur de solutions.The process of generating source code from the templates is performed by clicking Transform All Templates in the toolbar of Solution Explorer. Chaque fois que vous modifiez la définition de langage, veillez également à transformer tous les modèles.Whenever you modify the language definition, also make sure to Transform All Templates. Pour plus d’informations, consultez Comment : créer une Solution de langage spécifique à un domaine.For more information, see How to: Create a Domain-Specific Language Solution.

Personnalisation des outils DSLCustomization of DSL Tools

Vous pouvez fournir un code supplémentaire pour affiner le comportement du modèle et définir des contraintes sur votre langue.You can provide additional code to refine the behavior of the model and to define constraints over your language. Si nécessaire, vous pouvez apporter des modifications significatives en modifiant les modèles de texte.If required, you can make significant changes by modifying the text templates.

Distribuer votre Solution DSLDistributing Your DSL Solution

Outils DSL génère un package qui est hébergé dans Visual Studio.DSL Tools generates a package that is hosted in Visual Studio. Le package affiche une boîte à outils, un Explorateur DSL et autres éléments d’interface utilisateur qui permettent aux utilisateurs de créer des modèles à l’aide de votre langage spécifique à un domaine.The package displays a toolbox, a DSL explorer, and other UI elements that let users create models by using your domain-specific language.

Lorsque vous générez et exécutez la solution DSL outils dans Visual Studio, une deuxième instance de Visual Studio, vous montre comment votre langage spécifique à un domaine à l’utilisateur de la langue.When you build and run the DSL Tools solution in Visual Studio, a second instance of Visual Studio shows you how your domain-specific language looks to the user of the language. Après avoir vérifié que tout fonctionne correctement, vous pouvez distribuer le .vsix fichier que vous trouverez dans le dossier de génération du projet DslPackage.After you verify that everything works correctly, you can distribute the .vsix file that you will find in the build folder of the DslPackage project. Ce fichier peut être utilisé pour installer la solution DSL comme une extension de Visual Studio sur d’autres ordinateurs.This file can be used to install the DSL as a Visual Studio extension on other computers. Pour plus d’informations, consultez déploiement de Solutions de langage spécifique à un domaine.For more information, see Deploying Domain-Specific Language Solutions.

Voir aussiSee Also