Utilisation de plusieurs langages spécifiques à un domaine dans une solution

Vous pouvez empaqueter plusieurs DSL comme partie intégrante d'une seule solution de telle sorte qu'ils soient installés ensemble.

Il existe différentes techniques pour intégrer plusieurs DSL. Pour plus d’informations, consultez Intégration de modèles à l’aide de Visual Studio Modelbus et Guide pratique pour ajouter un gestionnaire du glisser-déplacer et Personnalisation du comportement de copie.

Générer plusieurs DSL dans une même solution

  1. Créez un projet VSIX.

  2. Créez au moins deux projets DSL dans le répertoire de solutions VSIX.

    • Pour chaque DSL, ouvrez une nouvelle instance de Visual Studio. Créez le DSL et spécifiez le même dossier de solution que la solution VSIX.

    • Assurez-vous que vous créez chaque DSL avec une extension de nom de fichier différente.

    • Modifiez les noms des projets Dsl et DslPackage de sorte qu’ils soient tous différents. Par exemple : Dsl1, DslPackage1, Dsl2, DslPackage2.

    • Dans chaque DslPackage*\source.extension.tt, mettez à jour cette ligne avec le nom de projet Dsl approprié :

      string dslProjectName = "Dsl2";

    • Dans la solution VSIX, ajoutez les projets Dsl* et DslPackage*. Il se peut que vous souhaitiez placer chaque paire dans son propre dossier de solution.

  3. Regroupez les manifestes VSIX des DSL :

    1. Ouvrez VotreProjetVsix\source.extension.manifest.

    2. Pour chaque DSL, choisissez Ajouter du contenu, puis ajoutez :

      • Un projet Dsl* en tant que Composant MEF

      • Un projet DslPackage* en tant que Composant MEF

      • Un projet DslPackage* en tant que Package VS

  4. Générez la solution.

    Le VSIX résultant installera les deux DSL. Vous pouvez les tester en utilisant F5 ou déployer VotreProjetVsix\bin\Debug\*.vsix.