ProvideEditorExtensionAttribute Class


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::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.ProvideEditorAttributeBase
type ProvideEditorExtensionAttribute = class
    inherit ProvideEditorAttributeBase
Public NotInheritable Class ProvideEditorExtensionAttribute
Inherits ProvideEditorAttributeBase


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


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


ProvideEditorExtensionAttribute(Object, String, Int32)

Initializes an instance of ProvideEditorExtensionAttribute.



Gets or sets the default name of the editor.


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


Gets the file extension associated with this editor.


Returns the GUID of the associated factory.


Gets and sets the integer NameResourceID.


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


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


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


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)



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

(Inherited from RegistrationAttribute)

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.


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