Partager via


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
Assemblies:   Microsoft.VisualStudio.Shell (in Microsoft.VisualStudio.Shell.dll)
  Microsoft.VisualStudio.Shell.9.0 (in Microsoft.VisualStudio.Shell.9.0.dll)
  Microsoft.VisualStudio.Shell.10.0 (in Microsoft.VisualStudio.Shell.10.0.dll)

Syntax

'Déclaration
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideEditorExtensionAttribute _
    Inherits RegistrationAttribute
'Utilisation
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
[<SealedAttribute>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)>]
type ProvideEditorExtensionAttribute =  
    class
        inherit RegistrationAttribute
    end
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.

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

Notes

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.

Notes

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

Managed VSPackage Registration Keys

Registering VSPackages