Partager via


FlavoredProject Class

A project that is a subtype or flavor of an inner project. All methods by default delegate to the inner project. Non-default behaviors should be handled by the flavored project.

Inheritance Hierarchy

Object
  Microsoft.VisualStudio.ProjectAggregator.CProjectAggregatorClass
    Microsoft.VisualStudio.Shell.Flavor.FlavoredProject

Namespace:  Microsoft.VisualStudio.Shell.Flavor
Assembly:  Microsoft.VisualStudio.Shell.12.0 (in Microsoft.VisualStudio.Shell.12.0.dll)

Syntax

'Declaration
Public MustInherit Class FlavoredProject _
    Inherits CProjectAggregatorClass _
    Implements IVsAggregatableProject, IServiceProvider, IVsHierarchy, IVsUIHierarchy,  _
    IOleCommandTarget, IVsTrackProjectDocumentsEvents2
public abstract class FlavoredProject : CProjectAggregatorClass, 
    IVsAggregatableProject, IServiceProvider, IVsHierarchy, IVsUIHierarchy, IOleCommandTarget, 
    IVsTrackProjectDocumentsEvents2
public ref class FlavoredProject abstract : public CProjectAggregatorClass, 
    IVsAggregatableProject, IServiceProvider, IVsHierarchy, IVsUIHierarchy, IOleCommandTarget, 
    IVsTrackProjectDocumentsEvents2
[<AbstractClass>]
type FlavoredProject =  
    class 
        inherit CProjectAggregatorClass 
        interface IVsAggregatableProject 
        interface IServiceProvider 
        interface IVsHierarchy 
        interface IVsUIHierarchy 
        interface IOleCommandTarget 
        interface IVsTrackProjectDocumentsEvents2 
    end
public abstract class FlavoredProject extends CProjectAggregatorClass implements IVsAggregatableProject, IServiceProvider, IVsHierarchy, IVsUIHierarchy, IOleCommandTarget, IVsTrackProjectDocumentsEvents2

The FlavoredProject type exposes the following members.

Constructors

  Name Description
Public method FlavoredProject When overridden in a derived class, initializes an instance of the FlavoredProject class.

Top

Methods

  Name Description
Protected method AdviseHierarchyEvents Subscribes to hierarchy events.
Protected method Close Closes and cleans up a hierarchy once the environment determines that it is no longer used.
Public method Equals Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method ExecCommand Executes a command on a specific item within a UI hierarchy window, or on the hierarchy itself.
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Protected method GetCanonicalName Gets the unique name associated with an item in the hierarchy. Used for workspace persistence, such as remembering window positions.
Protected method GetGuidProperty Gets properties whose values are GUIDs.
Public method GetHashCode Serves as the default hash function. (Inherited from Object.)
Protected method GetNestedHierarchy Determines whether or not a node is a nested hierarchy.
Protected method GetProperty Gets the value of a property for a given node.
Protected method GetSite Gets the service provider from which to access the services.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method InitializeForOuter Called by the outer project subtype to have the owned inner project subtype do its initialization work.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnAggregationComplete Subscribes to IVsTrackProjectDocumentsEvents2 events. It is not required to flavor a project but makes it easier for derived classes to subscribe to these events.
Protected method ParseCanonicalName Returns the identifier of the hierarchy item, given its canonical name.
Protected method QueryClose Determines whether the hierarchy can be closed.
Protected method QueryStatusCommand Gets the status of the specified commands.
Protected method SetGuidProperty Sets properties whose values are GUIDs.
Public method SetInner Sets the inner project. (Inherited from CProjectAggregatorClass.)
Protected method SetInnerProject Sets up the interfaces and menu commands for the inner project.
Protected method SetProperty Sets properties of a specific node or of the hierarchy.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Protected method UnadviseHierarchyEvents Disables client notification of hierarchy events.
Protected method Unused0 A placeholder for a future method.
Protected method Unused1 A placeholder for a future method.
Protected method Unused2 A placeholder for a future method.
Protected method Unused3 A placeholder for a future method.
Protected method Unused4 A placeholder for a future method.

Top

Events

  Name Description
Public event DirectoryAdded Raised after a directory has been added to the project.
Public event DirectoryRemoved Raised after a directory has been removed from the project.
Public event DirectoryRenamed Raised after a directory in the project has been renamed.
Public event FileAdded Raised after a file has been added to the project.
Public event FileRemoved Raised after a file has been removed from the project.
Public event FileRenamed Raised after a file in the project has been renamed.
Public event SccStatusChanged Raised after the source code control status of an item in the project has changed.

Top

Extension Methods

  Name Description
Public Extension Method IsCapabilityMatch Checks whether a given project matches the requirements prescribed in an AppliesTo expression. (Defined by PackageUtilities.)

Top

Fields

  Name Description
Protected field innerOleCommandTarget The IOleCommandTarget interface of the inner project.
Protected field innerVsAggregatableProject The IVsAggregatableProject of the inner project.
Protected field innerVsHierarchy The IVsHierarchy interface of the inner project.
Protected field innerVsUIHierarchy The IVsUIHierarchy interface of the inner project.
Protected field serviceProvider The service provider of the project.

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IServiceProvider.GetService Gets the service of the specified type.
Explicit interface implemetationPrivate method IOleCommandTarget.Exec Executes a specified command or displays help for a command.
Explicit interface implemetationPrivate method IOleCommandTarget.QueryStatus Queries the object for the status of one or more commands.
Explicit interface implemetationPrivate method IVsAggregatableProject.GetAggregateProjectTypeGuids Gets the list of project type GUIDs that make up the aggregate project. This method should be delegated to the innermost project within the system of aggregated project subtypes.
Explicit interface implemetationPrivate method IVsAggregatableProject.InitializeForOuter Called by the outer project subtype to have the inner project subtype do its initialization work.
Explicit interface implemetationPrivate method IVsAggregatableProject.OnAggregationComplete Called to continue initialization after aggregation is complete.
Explicit interface implemetationPrivate method IVsAggregatableProject.SetAggregateProjectTypeGuids Updates the list of GUIDs that are persisted in the project file of the base project.
Explicit interface implemetationPrivate method IVsAggregatableProject.SetInnerProject Sets up the inner project as well as the necessary interface pointers.
Explicit interface implemetationPrivate method IVsHierarchy.AdviseHierarchyEvents Subscribes to hierarchy events.
Explicit interface implemetationPrivate method IVsHierarchy.Close Closes and cleans up a hierarchy once the environment determines that it is no longer used.
Explicit interface implemetationPrivate method IVsHierarchy.GetCanonicalName Gets a unique name for an item in the hierarchy. Used for workspace persistence, such as remembering window positions.
Explicit interface implemetationPrivate method IVsHierarchy.GetGuidProperty Gets properties whose values are GUIDs.
Explicit interface implemetationPrivate method IVsHierarchy.GetNestedHierarchy Determines whether or not a node is a nested hierarchy.
Explicit interface implemetationPrivate method IVsHierarchy.GetProperty Gets properties of a given node or of the hierarchy.
Explicit interface implemetationPrivate method IVsHierarchy.GetSite Gets the service provider from which to access the services.
Explicit interface implemetationPrivate method IVsHierarchy.ParseCanonicalName Returns the identifier of the hierarchy item, given its canonical name.
Explicit interface implemetationPrivate method IVsHierarchy.QueryClose Determines whether the hierarchy can be closed.
Explicit interface implemetationPrivate method IVsHierarchy.SetGuidProperty Sets properties whose values are GUIDs.
Explicit interface implemetationPrivate method IVsHierarchy.SetProperty Sets properties of a specific node or of the hierarchy.
Explicit interface implemetationPrivate method IVsHierarchy.SetSite Sets the service provider from which to access the services.
Explicit interface implemetationPrivate method IVsHierarchy.UnadviseHierarchyEvents Disables client notification of hierarchy events.
Explicit interface implemetationPrivate method IVsHierarchy.Unused0 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsHierarchy.Unused1 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsHierarchy.Unused2 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsHierarchy.Unused3 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsHierarchy.Unused4 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnAfterAddDirectoriesEx Raised after directories have been added to a project.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnAfterAddFilesEx Raised after files have been added to a project.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnAfterRemoveDirectories Raised after a directory was removed from the project.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnAfterRemoveFiles Raised after files have been removed from the project.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnAfterRenameDirectories Raised after a directory has been moved or renamed.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnAfterRenameFiles Raised after files have been moved or renamed.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnAfterSccStatusChanged This method is called by the source code control component to inform listeners that source control status has changed. Do not call this method.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnQueryAddDirectories Raised by a project to determine whether directories can be added to the project. Not used.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnQueryAddFiles Raised to determine whether files can be added to the project. Not used.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnQueryRemoveDirectories Raised to determine whether directories can be removed from the project. Not used.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnQueryRemoveFiles Raised to determine whether files can be removed from the project. Not used.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnQueryRenameDirectories Raised to determine whether directories can be renamed in the project. Not used.
Explicit interface implemetationPrivate method IVsTrackProjectDocumentsEvents2.OnQueryRenameFiles Raised to determine whether files can be renamed in the project. Not used.
Explicit interface implemetationPrivate method IVsUIHierarchy.AdviseHierarchyEvents Subscribes to hierarchy events.
Explicit interface implemetationPrivate method IVsUIHierarchy.Close Closes the project and cleans up its resources once the environment determines that it is no longer used.
Explicit interface implemetationPrivate method IVsUIHierarchy.ExecCommand Executes a command on a specific item within a UI hierarchy window, or on the hierarchy itself.
Explicit interface implemetationPrivate method IVsUIHierarchy.GetCanonicalName Gets the unique name associated with an item in the hierarchy. Used for workspace persistence, such as remembering window positions.
Explicit interface implemetationPrivate method IVsUIHierarchy.GetGuidProperty Gets properties whose values are GUIDs.
Explicit interface implemetationPrivate method IVsUIHierarchy.GetNestedHierarchy Determines whether or not a node is a nested hierarchy.
Explicit interface implemetationPrivate method IVsUIHierarchy.GetProperty Gets the value of a property for a given node.
Explicit interface implemetationPrivate method IVsUIHierarchy.GetSite Gets the service provider from which to access the services.
Explicit interface implemetationPrivate method IVsUIHierarchy.ParseCanonicalName Returns the identifier of the hierarchy item, given its canonical name.
Explicit interface implemetationPrivate method IVsUIHierarchy.QueryClose Determines whether the hierarchy can be closed.
Explicit interface implemetationPrivate method IVsUIHierarchy.QueryStatusCommand Gets the status of the specified commands.
Explicit interface implemetationPrivate method IVsUIHierarchy.SetGuidProperty Sets properties whose values are GUIDs.
Explicit interface implemetationPrivate method IVsUIHierarchy.SetProperty Sets properties of a specific node or of the hierarchy.
Explicit interface implemetationPrivate method IVsUIHierarchy.SetSite Sets the service provider from which to access the services.
Explicit interface implemetationPrivate method IVsUIHierarchy.UnadviseHierarchyEvents Disables client notification of hierarchy events.
Explicit interface implemetationPrivate method IVsUIHierarchy.Unused0 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsUIHierarchy.Unused1 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsUIHierarchy.Unused2 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsUIHierarchy.Unused3 A placeholder for a future method.
Explicit interface implemetationPrivate method IVsUIHierarchy.Unused4 A placeholder for a future method.

Top

Remarks

For more information on flavored projects, see Project Subtypes.

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.Shell.Flavor Namespace