Compartilhar via


ProvideLanguageServiceAttribute Classe

Definição

Informa ao Visual Studio que um VSPackage fornece um serviço de linguagem. Usado com a estrutura de pacote gerenciado (MPF).

public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageServiceAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageServiceAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideLanguageServiceAttribute
Inherits RegistrationAttribute
Herança
ProvideLanguageServiceAttribute
Atributos

Exemplos

Este exemplo mostra como esse atributo definido pelo usuário é usado para registrar um serviço de linguagem que dá suporte a operações do IntelliSense, correspondência de chaves, análise assíncrona (plano de fundo) e itens coloráveis personalizados.

Observação

O Visual C# permite uma forma abreviada de um atributo definido pelo usuário removendo a parte "Atributo" do nome. Esse formulário abreviado é usado neste e em todos os outros exemplos em toda essa classe.

using Microsoft.VisualStudio.Shell;  

namespace MyLanguagePackage  
{  
    internal class MyConstants  
    {  
        public const string languageName           = "MyLanguage";  
        public const int    languageNameResourceID = 106;  
    }  

    [ProvideLanguageService(typeof(MyLanguageService),  
                            MyConstants.languageName,  
                            MyConstants.languageNameResourceID,  
        // Optional language service properties  
        CodeSense             = true,  // General IntelliSense support  
        RequestStockColors    = false, // Custom colorable items  
        EnableASyncCompletion = true,  // supports background parsing  
        MatchBraces           = true,  // Match braces on command  
        MatchBracesAtCaret    = true   // Match braces while typing  
                           )]  

    class MyLanguagePackage  
    {  
    }  
}  

Comentários

Esse atributo definido pelo usuário (que é específico do Visual C#) é usado para fornecer informações necessárias para registrar um serviço de linguagem no Visual Studio. Os valores especificados por esse atributo são armazenados como metadados no assembly. Esses metadados são usados posteriormente por um programa como regpkg.exe (parte do SDK do VSIP) para criar as chaves e entradas correspondentes do Registro que informam o Visual Studio sobre o serviço de linguagem.

As entradas do ProvideLanguageServiceAttribute Registro afetadas pelo são encontradas na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\  
  SOFTWARE\  
    Microsoft\  
      VisualStudio\  
        [X.Y]\  
          Languages\  
            Language Services\  
              [language name]\  
                (Default) = reg_sz: [Language Service GUID]  
                Package   = reg_sz: [Package GUID]  
                LangResID = reg_dword: [language name resource ID]  

Em que [X.Y] é a versão do Visual Studio, por exemplo, 8.0Exp e [nome da linguagem] é o nome da linguagem (conforme especificado no segundo parâmetro para o construtor de ProvideLanguageServiceAttribute classe).

Observação

Cada propriedade especifica a entrada exata do Registro que afeta para que essas entradas não sejam mostradas no exemplo acima. Essas entradas adicionais aparecem no mesmo nível que as três entradas mostradas.

O construtor de classe especifica os parâmetros mínimos necessários. Uma classe de atributo definida pelo usuário também dá suporte a parâmetros nomeados opcionais. Esses parâmetros nomeados são especificados na lista de parâmetros do construtor após os parâmetros necessários. Todas as propriedades dessa classe que dão suporte a operadores get e set podem ser especificadas como um parâmetro nomeado. O Exemplo mostra como os parâmetros nomeados são usados.

Observação

Alguns dos parâmetros nomeados são específicos para a estrutura de pacote gerenciado (MPF) e eles são observados em cada descrição da propriedade.

Os seguintes atributos definidos pelo usuário são usados para serviços de linguagem:

Atributo Descrição
ProvideLanguageServiceAttribute Registra o serviço de linguagem com o Visual Studio e especifica quais recursos têm suporte.
ProvideLanguageExtensionAttribute Associa uma extensão de arquivo ao serviço de idioma.
ProvideLanguageEditorOptionPageAttribute Especifica um nó de propriedade ou página para a caixa de diálogo Opções específica para o serviço de idioma.
ProvideLanguageCodeExpansionAttribute Especifica informações de localização para dar suporte a snippets de código no serviço de idioma.
ProvideServiceAttribute Registra um serviço de linguagem como um serviço do Visual Studio. Todos os serviços fornecidos no código gerenciado usam esse atributo.

Notas aos Herdeiros

Essa classe de atributo não pode ser herdada de, portanto, não há nada a implementar.

Notas aos Chamadores

Essa classe de atributo normalmente é aplicada à classe VSPackage primária, embora possa aparecer em qualquer classe. Essa classe deve aparecer apenas uma vez para cada serviço de idioma compatível com o VSPackage.

Construtores

ProvideLanguageServiceAttribute(Object, String, Int32)

Inicializa uma nova instância da classe Shell.ProvideLanguageServiceAttribute.

Propriedades

AutoOutlining

Determina se o serviço de idioma dá suporte à estrutura de tópicos automática.

CodeSense

Determina se o serviço de idioma dá suporte a operações do IntelliSense.

CodeSenseDelay

Determina a quantidade de tempo antes que uma operação de análise seja iniciada para dar suporte a uma operação do IntelliSense.

DebuggerLanguageExpressionEvaluator

Determina o avaliador de expressão usado para avaliar expressões.

DefaultToInsertSpaces

Determina a configuração padrão para a opção Inserir espaços na caixa de diálogo Opções de um serviço de idioma.

DefaultToNonHotURLs

Determina a configuração inicial da opção de navegação Habilitar URL de clique único na caixa de diálogo Opções.

EnableAdvancedMembersOption

Determina se a opção Ocultar Membros Avançados está habilitada na caixa de diálogo Opções.

EnableAsyncCompletion

Determina se o idioma dá suporte à análise em segundo plano.

EnableCommenting

Determina se o serviço de linguagem pode comentar e cancelar o comentário do código-fonte usando um único comando.

EnableFormatSelection

Determina se o serviço de idioma dá suporte à formatação automática do código-fonte.

EnableLineNumbers

Determina se a opção Números de linha pode ser selecionada na caixa de diálogo Opções.

FontColorDefaults

Informa ao Visual Studio que um VSPackage fornece um serviço de linguagem. Usado com a estrutura de pacote gerenciado (MPF).

HideAdvancedMembersByDefault

Determina o estado inicial da opção Ocultar Membros Avançados na caixa de diálogo Opções.

LanguageName

Retorna o nome do idioma.

LanguageResourceID

Retorna a ID do recurso usada para obter a versão localizada do nome do idioma.

LanguageServiceSid

Informa ao Visual Studio que um VSPackage fornece um serviço de linguagem. Usado com a estrutura de pacote gerenciado (MPF).

MatchBraces

Determina se o serviço de idioma dá suporte a pares de idiomas correspondentes.

MatchBracesAtCaret

Determina se um serviço de linguagem dá suporte a pares de idiomas correspondentes durante a digitação.

MaxErrorMessages

Determina a mensagem número máximo de erros que um serviço de idioma pode relatar para uma operação de análise.

QuickInfo

Determina se o serviço de linguagem dá suporte às Informações Rápidas do IntelliSense.

RequestStockColors

Determina se o serviço de linguagem está usando os itens coloráveis internos, conforme fornecido pelo Visual Studio.

ShowCompletion

Determina se as opções de conclusão da instrução estão habilitadas na caixa de diálogo Opções.

ShowDropDownOptions

Determina se a opção Barra de navegação está habilitada na caixa de diálogo Opções.

ShowHotURLs

Determina se as URLs são exibidas de forma a mostrar que podem ser clicadas. Esta opção não é usada.

ShowMatchingBrace

Determina se o par de idiomas correspondente é mostrado na barra de status.

ShowSmartIndent

Determina se a opção Recuo Inteligente está habilitada na caixa de diálogo Opções.

SingleCodeWindowOnly

Determina se o comando Janela –> Nova Janela está desabilitado para um serviço de idioma.

SupportCopyPasteOfHTML

Determina se o serviço de linguagem dá suporte ao HTML de formato de área de transferência para operações de cópia e colagem.

TypeId

Substitua a propriedade TypeID para permitir que as classes derivadas de RegistrationAttribute funcionem com System.ComponentModel.TypeDescriptor.GetAttributes(...). Um atributo derivado deste terá que substituir essa propriedade somente se precisar de um controle melhor sobre as instâncias que podem ser aplicadas a uma classe.

(Herdado de RegistrationAttribute)

Métodos

GetPackageRegKeyPath(Guid)

Obtém o caminho do Registro (em relação à raiz do registro do aplicativo) do VSPackage.

(Herdado de RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Cria todas as chaves e entradas do Registro, conforme especificado pelo construtor de classe.

Unregister(RegistrationAttribute+RegistrationContext)

Remove todas as chaves e entradas do Registro, conforme especificado pelo construtor de classe.

Aplica-se a