IVsSingleFileGenerator Interface
Transforms a single input file into a single output file that can be compiled or added to a project. Any COM component that implements the IVsSingleFileGenerator is a custom tool.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)
Syntax
'Declaration
<InterfaceTypeAttribute()> _
<GuidAttribute("3634494C-492F-4F91-8009-4541234E4E99")> _
Public Interface IVsSingleFileGenerator
[InterfaceTypeAttribute()]
[GuidAttribute("3634494C-492F-4F91-8009-4541234E4E99")]
public interface IVsSingleFileGenerator
[InterfaceTypeAttribute()]
[GuidAttribute(L"3634494C-492F-4F91-8009-4541234E4E99")]
public interface class IVsSingleFileGenerator
[<InterfaceTypeAttribute()>]
[<GuidAttribute("3634494C-492F-4F91-8009-4541234E4E99")>]
type IVsSingleFileGenerator = interface end
public interface IVsSingleFileGenerator
The IVsSingleFileGenerator type exposes the following members.
Methods
Name | Description | |
---|---|---|
DefaultExtension | Retrieves the file extension that is given to the output file name. | |
Generate | Executes the transformation and returns the newly generated output file, whenever a custom tool is loaded, or the input file is saved. |
Top
Remarks
Any custom tool that is a COM component must implement the IVsSingleFileGenerator interface.
Notes to Implementers
The IVsSingleFileGenerator interface is invoked under the following circumstances:
- The user changes the CustomTool property of a file. For more information, see Implementing Single-File Generators.
Note
You assign a custom tool to an input file in Visual Studio by setting the CustomTool property in the Properties window of the Visual Basic or Visual C# file selected in Solution Explorer. The component must already be registered as a custom tool before it can be assigned to an input file.
The user changes the CustomToolNamespace property of a file.
The input file to the custom tool is saved.
The extensibility method RunCustomTool is invoked on a VSProjectItem.