Generar código a partir de lenguajes específicos de dominioGenerating Code from a Domain-Specific Language

Microsoft Domain-Specific Language ToolsDomain-Specific Language Tools proporciona una manera eficaz de generar código, documentos, archivos de configuración y otros artefactos a partir de los datos representados en los modelos.Microsoft Domain-Specific Language ToolsDomain-Specific Language Tools provides a powerful way to generate code, documents, configuration files, and other artifacts from data represented in models. Con Domain-Specific Language ToolsDomain-Specific Language Tools, puede crear un conjunto de clases que representen los datos y puede escribir sus plantillas de texto en clases cuyos nombres y propiedades reflejen los datos.Using Domain-Specific Language ToolsDomain-Specific Language Tools, you can create a set of classes that represent your data, and you can write your text templates in classes whose names and properties reflect that data.

Por ejemplo, Fabrikam tiene un archivo XML de nombres de clientes y direcciones de correo electrónico.For example, Fabrikam has an XML file of customer names and e-mail addresses. Sus desarrolladores crean un modelo en el que el cliente es una clase, con el nombre de las propiedades y el correo electrónico.Their developers create a model in which Customer is a class, with properties name and e-mail. Escriben varias plantillas de texto para procesar los datos, incluido este fragmento que genera una tabla de todos los clientes como parte de una página HTML:They write several text templates to process the data, including this fragment which produces a table of all the customers as part of an HTML page:

<table>
<# foreach (Customer c in ContactList) {  #>
  <tr><td> <#= c.FullName #> </td>
      <td> <#= c.EmailAddress #> </td> </tr>
<# } #>  </table>

Cuando se procesa la base de datos del cliente, el archivo XML se lee en el almacén de modelos.When the customer database is processed, the XML file is read into the model store. Un procesador de directivas, creado mediante Domain-Specific Language ToolsDomain-Specific Language Tools, hace que la clase Customer esté disponible para el código de la plantilla de texto.A directive processor, created by using Domain-Specific Language ToolsDomain-Specific Language Tools, makes the Customer class available to the code in the text template. Muchas plantillas de texto se pueden ejecutar en el mismo almacén.Many text templates can be run against the same store.

Las plantillas de texto son esenciales para Domain-Specific Language ToolsDomain-Specific Language Tools.Text templates are essential to Domain-Specific Language ToolsDomain-Specific Language Tools. Se usan para generar el código fuente para los elementos del modelo de dominio, así como para el VSPackage y los controles que se usan para integrar las herramientas con Visual Studio.They are used to generate the source code for the elements of the domain model as well as for the VSPackage and the controls that are used to integrate the tools with Visual Studio.

En esta sección se describen algunas de las formas de crear, modificar y depurar plantillas de texto que se usan en Domain-Specific Language ToolsDomain-Specific Language Tools.This section discusses some of the ways to create, modify, and debug text templates used in Domain-Specific Language ToolsDomain-Specific Language Tools.

Esta secciónIn This Section

Obtener acceso a los modelos desde plantillas de textoAccessing Models from Text Templates
Proporciona información básica sobre cómo hacer referencia a lenguaje específico de dominio en plantillas de texto.Provides basic information about referring to domain-specific language in text templates.

Tutorial: depurar una plantilla de texto que tiene acceso a un modeloWalkthrough: Debugging a Text Template that Accesses a Model
Describe cómo solucionar problemas y depurar en una plantilla de texto que hace referencia a un lenguaje específico del dominio.Describes how to do troubleshooting and debugging on a text template that refers to a domain-specific language.

Tutorial: conectar un host a un procesador de directivas generadoWalkthrough: Connecting a Host to a Generated Directive Processor
Describe cómo conectar un host personalizado a un procesador de directivas generado.Describes how to connect a custom host to a generated directive processor.

El comando DslTextTransformThe DslTextTransform Command
Describe el archivo de comandos que ejecuta el ejecutable de TextTransform en la línea de comandos para las plantillas de texto que hacen referencia a lenguajes específicos de dominio.Describes the command file that executes the TextTransform executable on the command line for text templates that reference domain-specific languages.

ReferenciaReference

Escribir una plantilla de texto T4Writing a T4 Text Template
Proporciona la sintaxis de las directivas de plantilla de texto y los bloques de control.Provides the syntax of text template directives and control blocks.

Generación de código en tiempo de diseño usando las plantillas de texto T4Design-Time Code Generation by using T4 Text Templates
Explica el proceso de transformación de plantillas de texto.Explains the text template transformation process.

Generación de código en un proceso de compilaciónCode Generation in a Build Process
Lea este tema si va a generar archivos a partir de un DSL en un servidor de compilación.Read this topic if you are generating files from a DSL on a build server.