ProvideLanguageServiceAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |