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.
Namespace: Microsoft.VisualStudio.Shell
Assembly: Microsoft.VisualStudio.Shell.9.0 (in Microsoft.VisualStudio.Shell.9.0.dll)
Syntax
'Declaration
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideEditorExtensionAttribute _
Inherits RegistrationAttribute
'Usage
Dim instance As ProvideEditorExtensionAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideEditorExtensionAttribute : RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = true)]
public ref class ProvideEditorExtensionAttribute sealed : public RegistrationAttribute
public final class ProvideEditorExtensionAttribute extends RegistrationAttribute
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.
The attribute also associates a priority with the editor factory. For a given file extension, the editor with the highest priority number 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.
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.
Samples
You can find implementations of this attribute in the managed samples. The standard location for this and all other attributes used for automatic registration is adjacent to the implementation of the package class.
Note
C# automatically appends the word Attribute to the name of any attribute class. In C# code, refer to this attribute as ProvideEditorExtension.
Inheritance Hierarchy
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideEditorExtensionAttribute
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
ProvideEditorExtensionAttribute Members
Microsoft.VisualStudio.Shell Namespace
Other Resources
Determining Which Editor Opens a File in a Project