Share via


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
Public method DefaultExtension Retrieves the file extension that is given to the output file name.
Public method 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:

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.

See Also

Reference

Microsoft.VisualStudio.Shell.Interop Namespace