ProvideLanguageServiceAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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. |