Condividi tramite


Classe ProvideLanguageExtensionAttribute

Associare un'estensione di file con un servizio di linguaggio particolare.

Gerarchia di ereditarietà

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

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 ProvideLanguageExtensionAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageExtensionAttribute : RegistrationAttribute

Il tipo ProvideLanguageExtensionAttribute espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ProvideLanguageExtensionAttribute(String, String) Inizializza una nuova istanza di ProvideLanguageExtensionAttribute attributo, utilizzando il servizio di linguaggio specificato GUID.
Metodo pubblico ProvideLanguageExtensionAttribute(Type, String) Inizializza una nuova istanza di ProvideLanguageExtensionAttribute attributo, utilizzando il tipo della classe di servizio di linguaggio.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Extension restituisce l'estensione di file associata.
Proprietà pubblica LanguageService restituisce il linguaggio GUID.
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 Inserisce l'estensione di file e servizio di linguaggio GUID nel Registro di sistema. (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 l'estensione di file e servizio di linguaggio GUID dal Registro di sistema. (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 di c# viene utilizzato per registrare con Visual Studio un'estensione di file per un servizio di linguaggio particolare.Questo attributo inserisce le informazioni necessarie nei metadati dell'assembly che successivamente vengono recuperate e utilizzati da regpkg.exe.È comunque necessario registrare il servizio di linguaggio stesso; questo attributo fa solo l'associazione tra l'estensione di file e servizio di linguaggio.Per ulteriori informazioni, vedere Registrare package VS..

È possibile utilizzare più istanze di questo attributo per associare le estensioni di file con il servizio di linguaggio.

La chiave del Registro di sistema che è interessata da questo attributo è presente in Visual Studio chiave del Registro di sistema:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[X.Y]\
  Languages\
    File Extensions\
      [FileExtension]\
        (Default) = RG_SZ: [LanguageServiceGuid]

dove:

  • [X.Y] è un oggetto Visual Studio numero di versione pari a 8,0 o 8.0exp.

  • [FileExtension] è una stringa che contiene l'estensione di file con il punto iniziale, ad esempio, “myext„.

  • [LanguageServiceGuid] rappresenta il GUID del servizio di linguaggio; ad esempio, {B614A40A-80D9-4FAC-A6AD-FC2868FFF7CD}.

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

Utilizzare questo attributo del package VS per associare un'estensione di file al servizio di linguaggio.

Esempi

In questo esempio viene illustrato come associare l'estensione di file “.myext„ con un servizio di linguaggio.

[!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
{
    [ProvideLanguageExtension(typeof(MyLanguageService), ".myext")]
    public class MyLanguagePackage : Package
    {
    }
}

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