Share via


ProvideExtenderAttribute Class

Definition

This attribute registers the package as an extender. The GUID passed in determines what is being extended. The attributes on a package do not control the behavior of the package, but they can be used by registration tools to register the proper information with Visual Studio.

public ref class ProvideExtenderAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideExtenderAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideExtenderAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideExtenderAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideExtenderAttribute
Inherits RegistrationAttribute
Inheritance
ProvideExtenderAttribute
Attributes

Remarks

This attribute provides an extender (an object that implements IExtenderProvider) with Visual Studio. To use ProvideExtenderAttribute, place it on a class that inherits from Package or implements IVsPackage.

This attribute class is used only to provide data for external registration tools. It does not have any effect on the runtime behavior of the VSPackage.

Note

C# automatically appends the word "Attribute" to the name of any attribute class. In C# code, refer to this attribute as ProvideExtender.

Note

The GUIDs for the Visual C# and Visual Basic project types are {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} and {F184B08F-C81C-45F6-A57F-5ABD9991F28F}, respectively.

When to Call

Apply ProvideExtenderAttribute when your VSPackage implements a static extender.

Registry Entries

The following registry entries are created by ProvideExtenderAttribute:

  • <VSROOT>\Extenders\{CATID}\EditorName\

  • <VSROOT>\Extenders\{CATID}\EditorName\@={ExtenderGuid}

Samples

Constructors

ProvideExtenderAttribute(String, String, String)

Creates a new ProvideExtenderAttribute.

Properties

ExtendeeCatId

The CatID of the element being extended.

Extender

The Guid of the extender.

ExtenderName

The name of the extender.

TypeId

Override the TypeID property in order to let the RegistrationAttribute derived classes to work with System.ComponentModel.TypeDescriptor.GetAttributes(...). An attribute derived from this one will have to override this property only if it needs a better control on the instances that can be applied to a class.

(Inherited from RegistrationAttribute)

Methods

GetPackageRegKeyPath(Guid)

Gets the registry path (relative to the registry root of the application) of the VSPackage.

(Inherited from RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Called to register this attribute with the given context. The context contains the location where the registration information should be placed. it also contains such as the type being registered, and path information.

Unregister(RegistrationAttribute+RegistrationContext)

Unregister this Extender specification.

Applies to