Export (0) Print
Expand All

How to: Generate Templates from Templates By Using Escape Sequences

Updated: July 2008

You can create a text template that creates another text template as its generated text output. To do this, you must use escape sequences to delineate the text template tags. If you do not use escape sequences, your generated text template will have a pre-defined meaning. For more information about using escape sequences in text templates, see How to: Use Escape Sequences in Text Templates.

To generate a text template from within a text template

  • Use the backslash (\) as an escape character to produce the necessary markup tags within the text template for directives, statements, expressions, and class features in a separate text template file.

    For more information, see Adding Code to Text Templates.

    \<#@ directive \#>
    \<# statement \#>
    \<#= expression \#>
    \<#+ classfeature \#>
    

The following example uses escape characters to produce a text template from a text template. The output directive sets the destination file type to the text template file type (.tt).

\<#@ template inherits="Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation"\#>
\<#@ ClassDiagramExample processor="ClassDiagramExampleDirectiveProcessor" requires="fileName='Sample.testcd'" \#>
<#@ output extension=".tt" #>

\<#
   foreach(ModelType type in this.ModelRoot.Types)
   {
\#>
\<#= type.Name \#>
\<#
   }
\#>

The generated text output is a text template.

<#@ template inherits="Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation"#>
<#@ ClassDiagramExample processor="ClassDiagramExampleDirectiveProcessor" requires="fileName='Sample.testcd'" #>

<#
   foreach(ModelType type in this.ModelRoot.Types)
   {
#>
<#= type.Name #>
<#
   }
#>

Date

History

Reason

July 2008

Rewrote and refactored project.

Content bug fix.

Community Additions

ADD
Show:
© 2014 Microsoft