Share via


RegisterExtenderAttribute Class

NOTE: This API is now obsolete.

Registers an extender with Visual Studio. This class cannot be inherited. This class is obsolete. Please use ProvideExtenderAttribute instead.

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

Syntax

'宣言
<ObsoleteAttribute("RegisterExtenderAttribute has been deprecated. Please use ProvideExtenderAttribute instead.")> _
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class RegisterExtenderAttribute _
    Inherits RegistrationAttribute
'使用
Dim instance As RegisterExtenderAttribute
[ObsoleteAttribute("RegisterExtenderAttribute has been deprecated. Please use ProvideExtenderAttribute instead.")]
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class RegisterExtenderAttribute : RegistrationAttribute
[ObsoleteAttribute(L"RegisterExtenderAttribute has been deprecated. Please use ProvideExtenderAttribute instead.")]
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = true)]
public ref class RegisterExtenderAttribute sealed : public RegistrationAttribute
public final class RegisterExtenderAttribute extends RegistrationAttribute

Remarks

When to Call

Implement the RegisterExtenderAttribute class when your VSPackage implements a static extender.

Basic Usage

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

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

注意

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

注意

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

Registry Entries

The following registry entries are created by regpkg.exe when it reads the RegisterExtenderAttribute data:

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

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

Samples

You can find implementations of the RegisterExtenderAttribute class in the managed AutoExtender Sample. The standard location for this and all other attributes used for automatic registration is adjacent to the implementation of the package class.

Inheritance Hierarchy

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.RegisterExtenderAttribute

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

Concepts

How to: Register Managed VSPackages

Reference

RegisterExtenderAttribute Members

Microsoft.VisualStudio.Shell Namespace