ProvideLanguageServiceAttribute Classe

Definizione

Informa Visual Studio che un VSPackage fornisce un servizio di linguaggio. Utilizzato 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
Ereditarietà
ProvideLanguageServiceAttribute
Attributi

Esempio

In questo esempio viene illustrato come viene usato questo attributo definito dall'utente per registrare un servizio linguistico che supporta operazioni intelliSense, corrispondenza parentesi graffe, analisi asincrona (sfondo) e elementi coloribili personalizzati.

Nota

Visual C# consente una forma abbreviata di un attributo definito dall'utente eliminando la parte "Attributo" del nome. Questo modulo a breve viene usato in questo e tutti gli altri esempi in questa 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  
    {  
    }  
}  

Commenti

Questo attributo definito dall'utente (specifico per Visual C#) viene usato per fornire informazioni necessarie per registrare un servizio del linguaggio con Visual Studio. I valori specificati da questo attributo vengono archiviati come metadati nell'assembly. Questi metadati vengono usati in seguito da un programma, ad esempio regpkg.exe (parte di VSIP SDK) per creare le chiavi e le voci del Registro di sistema corrispondenti che indicano a Visual Studio il servizio linguistico.

Le voci del Registro di sistema interessate dall'oggetto ProvideLanguageServiceAttribute sono disponibili nella chiave del Registro di sistema seguente:

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]  

Dove [X.Y] è la versione di Visual Studio, ad esempio 8.0Exp e [nome lingua] è il nome della lingua (come specificato nel secondo parametro per il costruttore della ProvideLanguageServiceAttribute classe).

Nota

Ogni proprietà specifica la voce esatta del Registro di sistema che influisce in modo che tali voci non vengano visualizzate nell'esempio precedente. Tali voci aggiuntive vengono visualizzate allo stesso livello delle tre voci visualizzate.

Il costruttore della classe specifica i parametri minimi necessari. Una classe di attributo definita dall'utente supporta anche parametri denominati facoltativi. Questi parametri denominati vengono specificati nell'elenco dei parametri del costruttore dopo i parametri necessari. Tutte le proprietà di questa classe che supportano sia gli operatori get che set possono essere specificati come parametro denominato. Nell'esempio viene illustrato il modo in cui vengono usati i parametri denominati.

Nota

Alcuni dei parametri denominati sono specifici del framework del pacchetto gestito (MPF) e questi sono indicati in ogni descrizione della proprietà.

Gli attributi definiti dall'utente seguenti vengono usati per i servizi linguistici:

Attributo Descrizione
ProvideLanguageServiceAttribute Registra il servizio linguistico con Visual Studio e specifica quali funzionalità sono supportate.
ProvideLanguageExtensionAttribute Associa un'estensione di file al servizio di lingua.
ProvideLanguageEditorOptionPageAttribute Specifica un nodo di proprietà o una pagina per la finestra di dialogo Opzioni specifica del servizio linguistico.
ProvideLanguageCodeExpansionAttribute Specifica le informazioni sulla posizione per supportare frammenti di codice nel servizio linguaggio.
ProvideServiceAttribute Registra un servizio linguistico come servizio Visual Studio. Tutti i servizi forniti nel codice gestito usano questo attributo.

Note per gli eredi

Questa classe di attributi non può essere ereditata da in modo che non sia necessario implementare nulla.

Note per i chiamanti

Questa classe di attributi viene in genere applicata alla classe VSPackage primaria, anche se può essere visualizzata in qualsiasi classe. Questa classe deve essere visualizzata una sola volta per ogni servizio linguistico supportato da VSPackage.

Costruttori

ProvideLanguageServiceAttribute(Object, String, Int32)

Inizializza una nuova istanza della classe Shell.ProvideLanguageServiceAttribute.

Proprietà

AutoOutlining

Determina se il servizio di linguaggio supporta la struttura automatica.

CodeSense

Determina se il servizio di linguaggio supporta le operazioni IntelliSense.

CodeSenseDelay

Determina la quantità di tempo prima che un'operazione di analisi venga avviata per supportare un'operazione IntelliSense.

DebuggerLanguageExpressionEvaluator

Determina l'analizzatore di espressioni utilizzato per la valutazione delle espressioni.

DefaultToInsertSpaces

Determina l'impostazione predefinita per l'opzione Inserisci spazi nella finestra di dialogo Opzioni per un servizio linguistico.

DefaultToNonHotURLs

Determina l'impostazione iniziale dell'opzione Abilita spostamento URL a clic singolo nella finestra di dialogo Opzioni.

EnableAdvancedMembersOption

Determina se l'opzione Nascondi membri avanzati è abilitata nella finestra di dialogo Opzioni.

EnableAsyncCompletion

Determina se il linguaggio supporta l'analisi in background.

EnableCommenting

Determina se il servizio di linguaggio può commentare e rimuovere commenti nel codice sorgente utilizzando un unico comando.

EnableFormatSelection

Determina se il servizio di linguaggio supporta la formattazione automatica del codice sorgente.

EnableLineNumbers

Determina se l'opzione Numeri di riga può essere selezionata nella finestra di dialogo Opzioni.

FontColorDefaults

Informa Visual Studio che un VSPackage fornisce un servizio di linguaggio. Utilizzato con Managed Package Framework (MPF).

HideAdvancedMembersByDefault

Determina lo stato iniziale dell'opzione Nascondi membri avanzati nella finestra di dialogo Opzioni.

LanguageName

Restituisce il nome del linguaggio.

LanguageResourceID

Restituisce l'ID risorsa utilizzato per ottenere la versione localizzata del nome della lingua.

LanguageServiceSid

Informa Visual Studio che un VSPackage fornisce un servizio di linguaggio. Utilizzato con Managed Package Framework (MPF).

MatchBraces

Determina se il servizio di linguaggio supporta coppie di linguaggi corrispondenti.

MatchBracesAtCaret

Determina se un servizio di linguaggio supporta coppie di linguaggi corrispondenti durante la digitazione.

MaxErrorMessages

Determina il numero massimo di messaggi di errore che un servizio di linguaggio può segnalare per un'operazione di analisi.

QuickInfo

Determina se il servizio lingua supporta le informazioni rapide intelliSense.

RequestStockColors

Determina se il servizio linguistico usa gli elementi coloribili predefiniti forniti da Visual Studio.

ShowCompletion

Determina se le opzioni di completamento istruzione sono abilitate nella finestra di dialogo Opzioni.

ShowDropDownOptions

Determina se l'opzione Barra di spostamento è abilitata nella finestra di dialogo Opzioni.

ShowHotURLs

Determina se gli URL vengono visualizzati in modo da mostrare che possono essere cliccati. Questa opzione non viene utilizzata.

ShowMatchingBrace

Determina se la coppia di linguaggi corrispondente viene visualizzata nella barra di stato.

ShowSmartIndent

Determina se l'opzione rientro intelligente è abilitata nella finestra di dialogo Opzioni.

SingleCodeWindowOnly

Determina se il comando Window -> New Window è disabilitato per un servizio linguistico.

SupportCopyPasteOfHTML

Determina se il servizio di linguaggio supporta il formato degli Appunti HTML per le operazioni di copia e incolla.

TypeId

Eseguire l'override della proprietà TypeID per consentire alle classi derivate di RegistrationAttribute di funzionare con System.ComponentModel.TypeDescriptor.GetAttributes(...). Un attributo derivato da questo elemento dovrà eseguire l'override di questa proprietà solo se necessita di un controllo migliore sulle istanze che possono essere applicate a una classe.

(Ereditato da RegistrationAttribute)

Metodi

GetPackageRegKeyPath(Guid)

Ottiene il percorso del Registro di sistema (relativo alla radice del Registro di sistema dell'applicazione) del pacchetto VS.

(Ereditato da RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Crea tutte le chiavi del Registro di sistema e le voci specificate dal costruttore di classe.

Unregister(RegistrationAttribute+RegistrationContext)

Rimuove tutte le chiavi del Registro di sistema e le voci specificate dal costruttore di classe.

Si applica a