Compartir a través de


ProvideLanguageServiceAttribute Clase

Definición

Informa a Visual Studio de que un VSPackage proporciona un servicio de lenguaje. Se usa con Managed Package Framework (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
Herencia
ProvideLanguageServiceAttribute
Atributos

Ejemplos

En este ejemplo se muestra cómo se usa este atributo definido por el usuario para registrar un servicio de lenguaje que admite operaciones de IntelliSense, coincidencia de llaves, análisis asincrónico (fondo) y elementos colorables personalizados.

Nota

Visual C# permite una forma abreviada de un atributo definido por el usuario quitando la parte "Attribute" del nombre. Este formulario abreviado se usa en este y en todos los demás ejemplos de esta clase.

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  
    {  
    }  
}  

Comentarios

Este atributo definido por el usuario (que es específico de Visual C#) se usa para proporcionar información necesaria para registrar un servicio de lenguaje con Visual Studio. Los valores especificados por este atributo se almacenan como metadatos en el ensamblado. Más adelante, un programa como regpkg.exe (parte del SDK de VSIP) usa estos metadatos para crear las claves del Registro y las entradas correspondientes que indican a Visual Studio sobre el servicio de lenguaje.

Las entradas del Registro afectadas por ProvideLanguageServiceAttribute se encuentran en la siguiente clave del 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]  

Donde [X.Y] es la versión de Visual Studio, por ejemplo, 8.0Exp y [nombre de idioma] es el nombre del idioma (como se especifica en el segundo parámetro para el constructor de ProvideLanguageServiceAttribute clase).

Nota

Cada propiedad especifica la entrada exacta del Registro que afecta para que esas entradas no se muestren en el ejemplo anterior. Esas entradas adicionales aparecen en el mismo nivel que las tres entradas mostradas.

El constructor de clase especifica los parámetros mínimos necesarios. Una clase de atributo definida por el usuario también admite parámetros con nombre opcionales. Estos parámetros con nombre se especifican en la lista de parámetros del constructor después de los parámetros necesarios. Todas las propiedades de esta clase que admiten operadores get y set se pueden especificar como un parámetro con nombre. En el ejemplo se muestra cómo se usan los parámetros con nombre.

Nota

Algunos de los parámetros con nombre son específicos del marco de paquete administrado (MPF) y se indican en cada descripción de propiedad.

Los siguientes atributos definidos por el usuario se usan para los servicios de lenguaje:

Atributo Descripción
ProvideLanguageServiceAttribute Registra el servicio de lenguaje con Visual Studio y especifica qué características se admiten.
ProvideLanguageExtensionAttribute Asocia una extensión de archivo con el servicio de lenguaje.
ProvideLanguageEditorOptionPageAttribute Especifica un nodo de propiedad o una página para el cuadro de diálogo Opciones específico del servicio de idioma.
ProvideLanguageCodeExpansionAttribute Especifica información de ubicación para admitir fragmentos de código en el servicio de lenguaje.
ProvideServiceAttribute Registra un servicio de lenguaje como un servicio de Visual Studio. Todos los servicios proporcionados en código administrado usan este atributo.

Notas a los desarrolladores de herederos

Esta clase de atributo no se puede heredar de , por lo que no hay nada que implementar.

Notas a los autores de las llamadas

Esta clase de atributo se aplica normalmente a la clase VSPackage principal, aunque puede aparecer en cualquier clase. Esta clase solo debe aparecer una vez para cada servicio de lenguaje que admita VSPackage.

Constructores

ProvideLanguageServiceAttribute(Object, String, Int32)

Inicializa una nueva instancia de la clase Shell.ProvideLanguageServiceAttribute.

Propiedades

AutoOutlining

Determina si el servicio del lenguaje admite la esquematización automática.

CodeSense

Determina si el servicio del lenguaje admite operaciones de IntelliSense.

CodeSenseDelay

Determina la cantidad de tiempo antes de que una operación de análisis se inicie para admitir una operación de IntelliSense.

DebuggerLanguageExpressionEvaluator

Determina el evaluador de expresiones que se usa para evaluar expresiones.

DefaultToInsertSpaces

Determina la configuración predeterminada de la opción Insertar espacios en el cuadro de diálogo Opciones de un servicio de idioma.

DefaultToNonHotURLs

Determina la configuración inicial de la opción habilitar la navegación url con un solo clic en el cuadro de diálogo Opciones.

EnableAdvancedMembersOption

Determina si la opción Ocultar miembros avanzados está habilitada en el cuadro de diálogo Opciones.

EnableAsyncCompletion

Determina si el idioma admite análisis en segundo plano.

EnableCommenting

Determina si el servicio del lenguaje puede comentar y quitar los comentarios de código fuente mediante un solo comando.

EnableFormatSelection

Determina si el servicio de lenguaje admite el formato automático de código fuente.

EnableLineNumbers

Determina si la opción Números de línea se puede seleccionar en el cuadro de diálogo Opciones.

FontColorDefaults

Informa a Visual Studio de que un VSPackage proporciona un servicio de lenguaje. Se usa con Managed Package Framework (MPF).

HideAdvancedMembersByDefault

Determina el estado inicial de la opción Ocultar miembros avanzados en el cuadro de diálogo Opciones.

LanguageName

Devuelve el nombre del lenguaje.

LanguageResourceID

Devuelve el id. de recurso usado para obtener la versión localizada del nombre del idioma.

LanguageServiceSid

Informa a Visual Studio de que un VSPackage proporciona un servicio de lenguaje. Se usa con Managed Package Framework (MPF).

MatchBraces

Determina si el servicio del lenguaje admite combinaciones de lenguas coincidentes.

MatchBracesAtCaret

Determina si un servicio de lenguaje admite combinaciones de idiomas coincidentes mientras escribe.

MaxErrorMessages

Determina el número máximo de mensajes de error que un servicio del lenguaje puede señalar para una operación de análisis.

QuickInfo

Determina si el servicio de lenguaje admite la información rápida de IntelliSense.

RequestStockColors

Determina si el servicio de lenguaje usa los elementos colorables integrados proporcionados por Visual Studio.

ShowCompletion

Determina si las opciones de finalización de instrucciones están habilitadas en el cuadro de diálogo Opciones.

ShowDropDownOptions

Determina si la opción Barra de navegación está habilitada en el cuadro de diálogo Opciones.

ShowHotURLs

Determina si las direcciones URL se muestran de forma que se muestren para mostrar que se pueden hacer clic en ellas. Esta opción no se utiliza.

ShowMatchingBrace

Determina si la combinación de lenguas coincidentes se muestra en la barra de estado.

ShowSmartIndent

Determina si la opción Sangría inteligente está habilitada en el cuadro de diálogo Opciones.

SingleCodeWindowOnly

Determina si el comando Ventana-> Nueva ventana está deshabilitado para un servicio de lenguaje.

SupportCopyPasteOfHTML

Determina si el servicio del lenguaje admite el formato HTML del portapapeles para las operaciones de copiar y pegar.

TypeId

Invalide la propiedad TypeID para permitir que las clases derivadas RegistrationAttribute funcionen con System.ComponentModel.TypeDescriptor.GetAttributes(...). Un atributo derivado de este tendrá que invalidar esta propiedad solo si necesita un mejor control en las instancias que se pueden aplicar a una clase.

(Heredado de RegistrationAttribute)

Métodos

GetPackageRegKeyPath(Guid)

Obtiene la ruta del Registro (en relación con la raíz del Registro de la aplicación) del Paquete VSPackage.

(Heredado de RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Crea todas las claves y entradas del Registro según se especifica en el constructor de clase.

Unregister(RegistrationAttribute+RegistrationContext)

Quita todas las claves y entradas del Registro según se especifica en el constructor de clase.

Se aplica a