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
Método público 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
Propriedade pública Description Uma descrição humana legível esse gerador
Propriedade pública GeneratesDesignTimeSource Se verdadeiro, o gerador de código fornece o código-fonte de tempo de design
Propriedade pública Name O nome desse gerador.Para aplicar esse gerador em um arquivo no Solution Explorer, defina sua Ferramenta personalizada propriedade para esse nome.
Propriedade pública ProjectSystem O sistema de projeto com o qual o gerador de código é registrado.
Propriedade pública 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.
Propriedade pública Type O tipo de gerador de código de implementação
Propriedade pública TypeId (Herdado de RegistrationAttribute.)

Início

Métodos

  Nome Descrição
Método público Equals Infraestrutura. Returns a value that indicates whether this instance is equal to a specified object. (Herdado de Attribute.)
Método protegido 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.)
Método público GetHashCode Retorna o código hash para essa instância. (Herdado de Attribute.)
Método protegido GetPackageRegKeyPath (Herdado de RegistrationAttribute.)
Método público GetType Obtém o Type da instância atual. (Herdado de Object.)
Método público 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.)
Método público 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.)
Método protegido MemberwiseClone Cria uma cópia superficial do atual Object. (Herdado de Object.)
Método público 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).)
Método público ToString Retorna um string que representa o objeto atual. (Herdado de Object.)
Método público 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
Campo públicoMembro estático AspNetProjectGuid GUID do ASP.NET pacote de sistema do projeto
Campo públicoMembro estático CSharpProjectGuid GUID do pacote de sistema do projeto C#
Campo públicoMembro estático VisualBasicProjectGuid GUID do pacote de sistema do projeto de Visual Basic

Início

Implementações explícitas da interface

  Nome Descrição
Implementação explícita da interfaceMétodo particular _Attribute.GetIDsOfNames Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular _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.)
Implementação explícita da interfaceMétodo particular _Attribute.GetTypeInfoCount Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular _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.

Consulte também

Referência

Namespace Microsoft.VisualStudio.TextTemplating.VSHost