Classe ProvideLanguageServiceAttribute

Notifica a Visual Studio che un VSPackage fornisce un servizio di linguaggio.Utilizzato dal framework gestito del pacchetto (MPF).

Gerarchia di ereditarietà

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.ProvideLanguageServiceAttribute

Spazio dei nomi:  Microsoft.VisualStudio.Shell
Assembly:  Microsoft.VisualStudio.Shell.11.0 (in Microsoft.VisualStudio.Shell.11.0.dll)

Sintassi

'Dichiarazione
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideLanguageServiceAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageServiceAttribute : RegistrationAttribute

Il tipo ProvideLanguageServiceAttribute espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ProvideLanguageServiceAttribute Inizializza una nuova istanza della classe di Shell.ProvideLanguageServiceAttribute .

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica AutoOutlining Determina se la struttura automatica di supportare del servizio di linguaggio.
Proprietà pubblica CodeSense Determina se le operazioni di IntelliSense supporta del servizio di linguaggio.
Proprietà pubblica CodeSenseDelay Determina la quantità di tempo prima di un'operazione di analisi viene avviata per supportare un'operazione di IntelliSense.
Proprietà pubblica DebuggerLanguageExpressionEvaluator Determina l'analizzatore di espressioni utilizzato per la valutazione delle espressioni.
Proprietà pubblica DefaultToInsertSpaces Determina l'impostazione predefinita per l'opzione di Inserire spazi nella finestra di dialogo di opzioni per un servizio di linguaggio.
Proprietà pubblica DefaultToNonHotURLs Determina la configurazione iniziale dell'opzione di Abilitare la navigazione di un singolo clic su URL nella finestra di dialogo di opzioni .
Proprietà pubblica EnableAdvancedMembersOption Determina se l'opzione di Membri avanzati nascondi è abilitata nella finestra di dialogo di opzioni .
Proprietà pubblica EnableAsyncCompletion Determina se l'analisi in background dei supporti linguistici.
Proprietà pubblica EnableCommenting Determina se il servizio di linguaggio possibile impostarlo come commento e rimuovere il commento dal codice sorgente utilizzando un unico comando.
Proprietà pubblica EnableFormatSelection Determina se la formattazione automatica di supportare del servizio di linguaggio del codice sorgente.
Proprietà pubblica EnableLineNumbers Determina se l'opzione di numeri di riga può essere selezionato nella finestra di dialogo di opzioni .
Proprietà pubblica HideAdvancedMembersByDefault Determina lo stato iniziale dell'opzione di Membri avanzati nascondi nella finestra di dialogo Opzioni.
Proprietà pubblica LanguageName Infrastruttura. Restituisce il nome del linguaggio.
Proprietà pubblica LanguageResourceID Infrastruttura. Restituisce l'ID della risorsa utilizzato per ottenere la versione localizzata del nome della lingua.
Proprietà pubblica LanguageServiceSid Infrastruttura. Restituisce il GUID del servizio di linguaggio.
Proprietà pubblica MatchBraces Determina se i supporti del servizio di linguaggio che corrispondono alle coppie di lingue.
Proprietà pubblica MatchBracesAtCaret Determina se supporta del servizio di linguaggio che corrispondono alle coppie dei linguaggi come tipo.
Proprietà pubblica MaxErrorMessages Determina il numero massimo del messaggio di errore visualizzati da un servizio di linguaggio possibile creare rapporti per un'operazione di analisi.
Proprietà pubblica QuickInfo Determina se il servizio di linguaggio supporta le informazioni rapide IntelliSense.
Proprietà pubblica RequestStockColors determina se il servizio di linguaggio sta utilizzando gli elementi colorabili incorporati come fornito da Visual Studio.
Proprietà pubblica ShowCompletion Determina se le opzioni di Completamento delle istruzioni sono abilitate nella finestra di dialogo di opzioni .
Proprietà pubblica ShowDropDownOptions Determina se l'opzione di barra di navigazione è abilitata nella finestra di dialogo di opzioni .
Proprietà pubblica ShowHotURLs Determina se gli URL devono essere visualizzati in modo da mostrarli è possibile fare clic su.Questa opzione non viene utilizzata.
Proprietà pubblica ShowMatchingBrace Determina se la coppia di lingua corrispondente viene visualizzata nella barra di stato.
Proprietà pubblica ShowSmartIndent Determina se l'opzione di I rientri intelligenti è abilitata nella finestra di dialogo di opzioni .
Proprietà pubblica SingleCodeWindowOnly determina se finestra - il comando di > nuova finestra è disabilitato per un servizio di linguaggio.
Proprietà pubblica SupportCopyPasteOfHTML Determina se il servizio di linguaggio supporta il formato degli Appunti HTML per le operazioni di copia e incolla.
Proprietà pubblica TypeId Ottiene l'istanza corrente dell'attributo. (Ereditato da RegistrationAttribute)

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Infrastruttura. Restituisce un valore che indica se l'istanza è uguale a un oggetto specificato. (Ereditato da Attribute)
Metodo pubblico GetHashCode Restituisce il codice hash per l'istanza. (Ereditato da Attribute)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico IsDefaultAttribute Una volta sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute)
Metodo pubblico Match Una volta sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute)
Metodo pubblico Register Infrastruttura. Crea tutte le chiavi del Registro di sistema e voci come specificato dal costruttore della classe. (Esegue l'override di RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico Unregister Rimuove tutte chiavi del Registro di sistema e voci come specificato dal costruttore della classe. (Esegue l'override di RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetIDsOfNames Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfo Recupera le informazioni sui tipi per un oggetto, che può essere utilizzato per ottenere informazioni sul tipo per un'interfaccia. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfoCount Recupera il numero di interfacce di informazioni sui tipi che un oggetto garantisce (0 o 1). (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.Invoke Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute)

In alto

Note

Questo attributo definito dall'utente specifico per Visual C#) viene utilizzato per fornire informazioni necessarie per registrare un servizio di linguaggio con Visual Studio.I valori specificati dall'attributo sono archiviati come metadati nell'assembly.Questi metadati successivamente vengono utilizzati da un programma quale regpkg.exe (parte di VSIP SDK) per creare chiavi del Registro di sistema e le voci corrispondenti che indichino Visual Studio sul servizio di linguaggio.

Le voci del Registro di sistema interessate da ProvideLanguageServiceAttribute disponibili in seguente chiave del Registro di sistema:

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 della lingua] è il nome del linguaggio (come specificato nel secondo parametro al costruttore della classe di ProvideLanguageServiceAttribute ).

[!NOTA]

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

il costruttore di classe specifica i parametri obbligatori minimi.Una classe Attribute definite dall'utente supporta anche i parametri denominati facoltativi.Questi parametri denominati sono specificati nell'elenco di parametri del costruttore dopo i parametri necessari.Tutte le proprietà della classe che supportano sia la funzione e impostare gli operatori possono essere specificate come parametro denominato.L'esempio mostra come parametri denominati vengono utilizzati.

[!NOTA]

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

I seguenti attributi definiti dall'utente vengono utilizzati per i servizi di linguaggio:

attributo

descrizione

ProvideLanguageServiceAttribute

registra il servizio di linguaggio con Visual Studio e specifica che funzionalità supportate.

ProvideLanguageExtensionAttribute

Associare un'estensione di file al servizio di linguaggio.

ProvideLanguageEditorOptionPageAttribute

Specifica un nodo o una pagina delle proprietà per la finestra di dialogo Opzioni specifiche del servizio di linguaggio.

ProvideLanguageCodeExpansionAttribute

Specifica le informazioni sul percorso per supportare i frammenti di codice nel servizio di linguaggio.

ProvideServiceAttribute

Registra un servizio di linguaggio come Visual Studio servizio.Tutti i servizi forniti nel codice gestito utilizzano questo attributo.

Note per gli implementatori

Questa classe Attribute non può essere ereditata da così esiste alcuna implementazione.

Note per i chiamanti

Questa classe Attribute in genere viene applicato alla classe primaria di package VS, sebbene possa essere visualizzati in qualsiasi classe.Questa classe deve apparire solo una volta per ogni servizio di linguaggio che il package VS supporta.

Esempi

In questo esempio viene illustrato come questo attributo definito dall'utente viene utilizzato per registrare un servizio di linguaggio che supportano le operazioni di IntelliSense, la corrispondenza di parentesi graffe, l'analisi (in background) asincrona e gli elementi colorabili personalizzati.

[!NOTA]

Visual C# consente di utilizzare una forma abbreviata di un attributo definito dall'utente rilasciando la parte “attributo„ del nome.Questa forma abbreviata è utilizzato in questo e tutti gli altri esempi di questo comportamento.

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

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Shell