Classe ProvideCodeGeneratorAttribute
Aplica esse atributo para a classe do pacote em uma extensão de Visual Studio que fornece uma ferramenta personalizada.
Esta API não compatível com CLS.
Hierarquia de herança
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.TextTemplating.VSHost.ProvideCodeGeneratorAttribute
Namespace: Microsoft.VisualStudio.TextTemplating.VSHost
Assembly: Microsoft.VisualStudio.TextTemplating.VSHost.10.0 (em Microsoft.VisualStudio.TextTemplating.VSHost.10.0.dll)
Sintaxe
'Declaração
<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
O tipo ProvideCodeGeneratorAttribute expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
ProvideCodeGeneratorAttribute | Aplica esse atributo para a classe do pacote de um pacote que fornece um gerador de código. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
Description | Uma descrição humana legível esse gerador | |
GeneratesDesignTimeSource | Se verdadeiro, o gerador de código fornece o código-fonte de tempo de design | |
Name | O nome desse gerador.Para aplicar esse gerador em um arquivo no Solution Explorer, defina sua Ferramenta personalizada propriedade para esse nome. | |
ProjectSystem | O sistema de projeto com o qual o gerador de código é registrado. | |
RegisterCodeBase | Se verdadeiro, o gerador é registrado usando um codebase - isto é, localização do arquivo de um conjunto específico.Se for false, o assembly está no GAC. | |
Type | O tipo de gerador de código de implementação | |
TypeId | (Herdado de RegistrationAttribute.) |
Início
Métodos
Nome | Descrição | |
---|---|---|
Equals | Infraestrutura. Returns a value that indicates whether this instance is equal to a specified object. (Herdado de Attribute.) | |
Finalize | Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Retorna o código hash para essa instância. (Herdado de Attribute.) | |
GetPackageRegKeyPath | (Herdado de RegistrationAttribute.) | |
GetType | Obtém o Type da instância atual. (Herdado de Object.) | |
IsDefaultAttribute | Quando substituÃdo em uma classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute.) | |
Match | Quando substituÃdo em uma classe derivada, retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
Register | Chamado para definir as alterações que devem ser feitas para registrar o gerador de código.Normalmente, ele deve adicionar as chaves no registro. (Substitui RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).) | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) | |
Unregister | Chamado para definir as alterações que devem ser feitas para cancelar o registro o gerador de código.Normalmente, ele deve excluir as chaves que foram adicionadas por Register(). (Substitui RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).) |
Início
Campos
Nome | Descrição | |
---|---|---|
AspNetProjectGuid | GUID do ASP.NET pacote de sistema do projeto | |
CSharpProjectGuid | GUID do pacote de sistema do projeto C# | |
VisualBasicProjectGuid | GUID do pacote de sistema do projeto de Visual Basic |
Início
Implementações explícitas da interface
Nome | Descrição | |
---|---|---|
_Attribute.GetIDsOfNames | Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute.) | |
_Attribute.GetTypeInfo | Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute.) | |
_Attribute.GetTypeInfoCount | Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute.) | |
_Attribute.Invoke | Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute.) |
Início
Comentários
Este atributo registra sua extensão de Visual Studio como uma ferramenta personalizada. Quando um usuário tiver instalado uma extensão que tem esse atributo, eles podem usá-lo para gerar arquivos usando o Ferramenta personalizado para executar comando no Solution Explorer.
Este atributo executa automaticamente a tarefa de registro descrita no Registering Single File Generators.
Aplica o atributo à classe de pacote (e não a classe do gerador).
Consulte também ProvideCodeGeneratorExtensionAttribute.
Exemplos
[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
{ ... }
Acesso thread-safe
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.