Share via


ProvideEditorExtensionAttribute Class

Definition

Associates a file extension to a given editor factory when applied to a class that inherits from Package or implements the interface IVsPackage.

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

Remarks

This attribute associates a file extension with a given editor factory. The file extension should include the prefixing ".". The editor factory may be specified as either a GUID or a type.

This attribute also associates a priority with the editor factory. For a given file extension, the editor with the highest priority is given the chance to read a file first. If the editor fails to read the file, the remaining editors are used in order of priority. To make a given editor the default, assign a priority greater than 0x60.

This attribute class is only used to provide data for external registration tools. It does not affect runtime behavior.

When to Call

Apply this file extension attribute to a package class that implements an editor factory. The package class must inherit from Package or IVsPackage.

Registry Entries

The following registry entry is created by this attribute:

VSROOT\Editors\{FactoryGuid}\Extensions\Extension = Priority

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.

Constructors

ProvideEditorExtensionAttribute(Object, String, Int32)

Initializes an instance of ProvideEditorExtensionAttribute.

Properties

DefaultName

Gets or sets the default name of the editor.

EditorFactoryNotify

Determines whether or not the extension should be registered with a EditorFactoryNotify registry value, which associates a file extension with a specific editor factory.

Extension

Gets the file extension associated with this editor.

Factory

Returns the GUID of the associated factory.

Factory

The editor factory guid.

(Inherited from ProvideEditorAttributeBase)
NameResourceID

Gets and sets the integer NameResourceID.

Priority

Gets the editor's priority as set in the constructor.

ProjectGuid

Sets and gets the GUID of the project associated with this editor.

RegisterFactory
TemplateDir

Gets or sets the template directory to be used by the editor factory to retrieve its source files.

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 the type being registered and path information.

Unregister(RegistrationAttribute+RegistrationContext)

Removes the registration information about a VSPackage when called by an external registration tool such as RegPkg.exe. For more information, see Registering VSPackages.

Applies to