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 | |
---|---|---|
ProvideCodeGeneratorAttribute |
Début
Propriétés
Nom | Description | |
---|---|---|
Description | Description lisible par l'utilisateur de ce générateur. | |
GeneratesDesignTimeSource | Si la valeur est true, ce générateur de code fournit le code source au moment du design. | |
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é. | |
ProjectSystem | Système de projet pour lequel ce générateur de code est inscrit. | |
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). | |
Type | Type implémentant le générateur de code. | |
TypeId | (Hérité de RegistrationAttribute.) |
Début
Méthodes
Nom | Description | |
---|---|---|
Equals | Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.) | |
GetHashCode | Retourne le code de hachage de cette instance. (Hérité de Attribute.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
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.) | |
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.) | |
Register | (Substitue RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).) | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) | |
Unregister | (Substitue RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).) |
Début
Champs
Nom | Description | |
---|---|---|
AspNetProjectGuid | GUID du package du système de projet ASP.NET. | |
CSharpProjectGuid | GUID du package de système de projet C#. | |
VisualBasicProjectGuid | GUID du package du système de projet Visual Basic. |
Début
Implémentations d'interface explicite
Nom | Description | |
---|---|---|
_Attribute.GetIDsOfNames | Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.) | |
_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.) | |
_Attribute.GetTypeInfoCount | Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.) | |
_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