Partager via


ProvideCodeGeneratorAttribute, classe

Appliquez cet attribut à la classe de package dans une extension Visual Studio qui fournit un outil personnalisé.

Cette API n'est pas conforme CLS. 

Hiérarchie d'héritage

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.TextTemplating.VSHost.ProvideCodeGeneratorAttribute

Espace de noms :  Microsoft.VisualStudio.TextTemplating.VSHost
Assembly :  Microsoft.VisualStudio.TextTemplating.VSHost.11.0 (dans Microsoft.VisualStudio.TextTemplating.VSHost.11.0.dll)

Syntaxe

'Déclaration
<CLSCompliantAttribute(False)> _
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := False)> _
Public NotInheritable Class ProvideCodeGeneratorAttribute _
    Inherits RegistrationAttribute
[CLSCompliantAttribute(false)]
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
public sealed class ProvideCodeGeneratorAttribute : RegistrationAttribute
[CLSCompliantAttribute(false)]
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = false)]
public ref class ProvideCodeGeneratorAttribute sealed : public RegistrationAttribute
[<Sealed>]
[<CLSCompliantAttribute(false)>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)>]
type ProvideCodeGeneratorAttribute =  
    class
        inherit RegistrationAttribute
    end
public final class ProvideCodeGeneratorAttribute extends RegistrationAttribute

Le type ProvideCodeGeneratorAttribute expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique ProvideCodeGeneratorAttribute

Début

Propriétés

  Nom Description
Propriété publique Description Description lisible par l'utilisateur de ce générateur.
Propriété publique GeneratesDesignTimeSource Si la valeur est true, ce générateur de code fournit le code source au moment du design.
Propriété publique Name Nom de ce générateur.Pour implémenter ce générateur à un fichier dans l'Explorateur de solutions, affectez ce nom à sa propriété Outil personnalisé.
Propriété publique ProjectSystem Système de projet pour lequel ce générateur de code est inscrit.
Propriété publique RegisterCodeBase Si la valeur est true, le générateur est inscrit à l'aide d'un code base - c'est-à-dire, un emplacement de fichier d'assembly spécifique.Si la valeur est false, l'assembly figure dans le Global Assembly Cache (GAC).
Propriété publique Type Type implémentant le générateur de code.
Propriété publique TypeId (Hérité de RegistrationAttribute.)

Début

Méthodes

  Nom Description
Méthode publique Equals Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode publique GetHashCode Retourne le code de hachage de cette instance. (Hérité de Attribute.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique IsDefaultAttribute En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.)
Méthode publique Match En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode publique Register (Substitue RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique Unregister (Substitue RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).)

Début

Champs

  Nom Description
Champ publicMembre statique AspNetProjectGuid GUID du package du système de projet ASP.NET.
Champ publicMembre statique CSharpProjectGuid GUID du package de système de projet C#.
Champ publicMembre statique VisualBasicProjectGuid GUID du package du système de projet Visual Basic.

Début

Implémentations d'interface explicite

  Nom Description
Implémentation d'interface expliciteMéthode privée _Attribute.GetIDsOfNames Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.GetTypeInfo Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.GetTypeInfoCount Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.Invoke Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.)

Début

Notes

Cet attribut enregistre votre extension Visual Studio en tant qu'outil personnalisé.Lorsqu'un utilisateur installe une extension qui possède cet attribut, il peut l'utiliser pour générer des fichiers dans Solution Explorer avec la commande Exécuter un outil personnalisé.

Cet attribut effectue automatiquement la tâche d'inscription décrite dans Stocker des générateurs de fichier unique (page éventuellement en anglais).

Appliquez l'attribut à la classe de package (pas la classe de générateur).

Voir aussi ProvideCodeGeneratorExtensionAttribute.

Exemples

[ProvideCodeGenerator(typeof(MyGenerator), "MyCustomTool", "My custom tool", true, ProjectSystem = ProvideCodeGeneratorAttribute.CSharpProjectGuid)]
internal sealed partial class MyPackage : Microsoft.VisualStudio.Shell
.Package
{ ... }
internal class MyGenerator : Microsoft.VisualStudio.Shell.Interop.IVsSingleFileGenerator
{ ... }

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.TextTemplating.VSHost, espace de noms