ModelBusEnabledTextTransformation Class

To access Visual Studio ModelBus in the code of a text template, specify this class in the inherits attribute of the template directive of the template, and set the hostspecific attribute to true. In the template code, you can get the SModelBus and SComponentModel services.

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.TextTemplating.TextTransformation
    Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation
      Microsoft.VisualStudio.TextTemplating.Modeling.ModelBusEnabledTextTransformation

Namespace:  Microsoft.VisualStudio.TextTemplating.Modeling
Assembly:  Microsoft.VisualStudio.TextTemplating.Modeling.10.0 (in Microsoft.VisualStudio.TextTemplating.Modeling.10.0.dll)

Syntax

'Declaration
Public MustInherit Class ModelBusEnabledTextTransformation _
    Inherits ModelingTextTransformation
public abstract class ModelBusEnabledTextTransformation : ModelingTextTransformation
public ref class ModelBusEnabledTextTransformation abstract : public ModelingTextTransformation
[<AbstractClass>]
type ModelBusEnabledTextTransformation =  
    class
        inherit ModelingTextTransformation
    end
public abstract class ModelBusEnabledTextTransformation extends ModelingTextTransformation

The ModelBusEnabledTextTransformation type exposes the following members.

Constructors

  Name Description
Protected method ModelBusEnabledTextTransformation

Top

Properties

  Name Description
Public property CurrentIndent Gets the current indent text, which is prefixed to each line of the generated text output. (Inherited from TextTransformation.)
Public property Errors Infrastructure. Gets the error collection for the text template transformation process. (Inherited from TextTransformation.)
Protected property GenerationEnvironment Gets or sets the string that the text template transformation process is using to assemble the generated text output. (Inherited from TextTransformation.)
Protected property ModelBus Get the Visual Studio ModelBus service that this base class provides.
Protected property ServiceProvider Return a service provider containing the Visual Studio ModelBus. Do not use the service provider from the Host. (Overrides ModelingTextTransformation.ServiceProvider.)
Public property Session (Inherited from ModelingTextTransformation.)
Protected property SkipValidation If true, ValidateStore() does not run validation and returns false. Defaults to false. (Inherited from ModelingTextTransformation.)
Protected property Store Gets the modeling Store. (Inherited from ModelingTextTransformation.)

Top

Methods

  Name Description
Protected method AddDomainModel Add a domain model type to be loaded by the Store. Call this for each domain model before calling Initialize(). (Inherited from ModelingTextTransformation.)
Public method ClearIndent Resets the CurrentIndent to an empty string. (Inherited from TextTransformation.)
Public method Dispose() Releases all resources used by the TextTransformation. (Inherited from TextTransformation.)
Protected method Dispose(Boolean) (Inherited from ModelingTextTransformation.)
Public method Equals Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public method Error Creates a new error to store information about errors that occur during the text template transformation process. (Inherited from TextTransformation.)
Protected method Finalize Allows an Object to attempt to free resources and perform other cleanup operations before it is reclaimed by the garbage collector. Called by the garbage collector. (Inherited from TextTransformation.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Initialize Loads the models specified using AddModel() and makes the host ready to process the template. (Inherited from ModelingTextTransformation.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnSessionChanged Called whenever a session is provided that isn't the same as the last remembered session. Clears the static modelbus instance to prepare for a new snapshot of model files to be read. (Overrides ModelingTextTransformation.OnSessionChanged(ITextTemplatingSession, ITextTemplatingSession).)
Public method PopIndent Removes the most recently added text from CurrentIndent. (Inherited from TextTransformation.)
Public method PushIndent Adds text to CurrentIndent, which is prefixed to each line of the generated text output. (Inherited from TextTransformation.)
Protected method ReportError Converts from ModelBus errors to Text Template errors. Calls this.Error or this.Warning depending on the category value.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method TransformText When overridden in a derived class, generates the text output of the transformation. (Inherited from TextTransformation.)
Protected method ValidateStore Validates the store with the given validation categories. Returns true if there are errors. (Inherited from ModelingTextTransformation.)
Public method Warning Creates a new warning to store information about errors that occur during the text template transformation process. (Inherited from TextTransformation.)
Public method Write(String) Appends a copy of the specified string to the generated text output. (Inherited from TextTransformation.)
Public method Write(String, array<Object[]) Appends a formatted string, which contains zero or more format specifications, to the generated text output. Each format specification is replaced by the string representation of a corresponding object argument. (Inherited from TextTransformation.)
Public method WriteLine(String) Appends a copy of the specified string and the default line terminator to the generated text output. (Inherited from TextTransformation.)
Public method WriteLine(String, array<Object[]) Appends a formatted string, which contains zero or more format specifications, and the default line terminator, to the generated text output. Each format specification is replaced by the string representation of a corresponding object argument. (Inherited from TextTransformation.)

Top

Remarks

To use this text transformation in a template, you must set the hostspecific attribute to true in the template directive.

Examples

<#@ template debug="false" hostspecific="true" language="C#" inherits="Microsoft.VisualStudio.TextTemplating.Modeling.ModelBusEnabledTextTransformation" #>
<#@ assembly name="Microsoft.VisualStudio.TextTemplating.Modeling.10.0.dll" #>
<#@ assembly name="Microsoft.VisualStudio.Modeling.Sdk.Integration.10.0.dll" #>
<#@ import namespace="Microsoft.VisualStudio.Modeling.Integration" #>
<#@ output extension=".txt" #>
<# IModelBus modelbus = this.ServiceProvider.GetService(typeof(SModelBus)) as IModelBus; 
...
#>

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.TextTemplating.Modeling Namespace