Freigeben über


ProvideLanguageServiceAttribute Klasse

Definition

Informiert Visual Studio darüber, dass ein VSPackage einen Sprachdienst bereitstellt. Wird mit dem Managed Package Framework (MPF) verwendet.

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
Vererbung
ProvideLanguageServiceAttribute
Attribute

Beispiele

In diesem Beispiel wird gezeigt, wie dieses benutzerdefinierte Attribut verwendet wird, um einen Sprachdienst zu registrieren, der IntelliSense-Vorgänge, Klammerabgleich, asynchrone (Hintergrund-)Analyse und benutzerdefinierte farbige Elemente unterstützt.

Hinweis

Visual C# ermöglicht eine Kurzform eines benutzerdefinierten Attributs, indem der Teil "Attribut" des Namens gelöscht wird. Diese Kurzform wird in diesem und allen anderen Beispielen in dieser Klasse verwendet.

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

Hinweise

Dieses benutzerdefinierte Attribut (spezifisch für Visual C#) wird verwendet, um Informationen bereitzustellen, die zum Registrieren eines Sprachdiensts bei Visual Studio erforderlich sind. Die von diesem Attribut angegebenen Werte werden als Metadaten in der Assembly gespeichert. Diese Metadaten werden später von einem Programm wie regpkg.exe (Teil des VSIP SDK) verwendet, um die entsprechenden Registrierungsschlüssel und Einträge zu erstellen, die Visual Studio über den Sprachdienst informieren.

Die von dem ProvideLanguageServiceAttribute betroffenen Registrierungseinträge finden Sie unter dem folgenden Registrierungsschlüssel:

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]  

Wobei [X.Y] die Version von Visual Studio ist, z. B. 8.0Exp, und [Sprachname] ist der Name der Sprache (wie im zweiten Parameter für den ProvideLanguageServiceAttribute Klassenkonstruktor angegeben).

Hinweis

Jede Eigenschaft gibt den genauen Registrierungseintrag an, auf den sie sich auswirkt, sodass diese Einträge im obigen Beispiel nicht angezeigt werden. Diese zusätzlichen Einträge werden auf derselben Ebene wie die drei angezeigten Einträge angezeigt.

Der Klassenkonstruktor gibt die minimal erforderlichen Parameter an. Eine benutzerdefinierte Attributklasse unterstützt auch optionale benannte Parameter. Diese benannten Parameter werden in der Parameterliste des Konstruktors nach den erforderlichen Parametern angegeben. Alle Eigenschaften dieser Klasse, die sowohl get- als auch set-Operatoren unterstützen, können als benannter Parameter angegeben werden. Das Beispiel zeigt, wie benannte Parameter verwendet werden.

Hinweis

Einige der benannten Parameter sind spezifisch für das Verwaltete Paketframework (MPF), und diese werden in jeder Eigenschaftenbeschreibung notiert.

Die folgenden benutzerdefinierten Attribute werden für Sprachdienste verwendet:

attribute BESCHREIBUNG
ProvideLanguageServiceAttribute Registriert den Sprachdienst bei Visual Studio und gibt an, welche Features unterstützt werden.
ProvideLanguageExtensionAttribute Ordnet dem Sprachdienst eine Dateierweiterung zu.
ProvideLanguageEditorOptionPageAttribute Gibt einen Eigenschaftenknoten oder eine Seite für das Dialogfeld Optionen an, das für den Sprachdienst spezifisch ist.
ProvideLanguageCodeExpansionAttribute Gibt Standortinformationen an, um Codeausschnitte im Sprachdienst zu unterstützen.
ProvideServiceAttribute Registriert einen Sprachdienst als Visual Studio-Dienst. Alle Dienste, die in verwaltetem Code bereitgestellt werden, verwenden dieses Attribut.

Hinweise für Vererber

Diese Attributklasse kann nicht von geerbt werden, sodass es nichts zu implementieren gibt.

Hinweise für Aufrufer

Diese Attributklasse wird in der Regel auf Ihre primäre VSPackage-Klasse angewendet, kann jedoch in jeder Klasse angezeigt werden. Diese Klasse sollte nur einmal für jeden Sprachdienst angezeigt werden, den Ihr VSPackage unterstützt.

Konstruktoren

ProvideLanguageServiceAttribute(Object, String, Int32)

Initialisiert eine neue instance der Shell.ProvideLanguageServiceAttribute-Klasse.

Eigenschaften

AutoOutlining

Bestimmt, ob der Sprachdienst die automatische Gliederung unterstützt.

CodeSense

Bestimmt, ob der Sprachdienst IntelliSense-Vorgänge unterstützt.

CodeSenseDelay

Bestimmt die Zeit, bevor ein Analysevorgang gestartet wird, um einen IntelliSense-Vorgang zu unterstützen.

DebuggerLanguageExpressionEvaluator

Bestimmt die Ausdrucksauswertung, der für die Auswertung von Ausdrücken verwendet wird.

DefaultToInsertSpaces

Bestimmt die Standardeinstellung für die Option Leerzeichen einfügen im Dialogfeld Optionen für einen Sprachdienst.

DefaultToNonHotURLs

Bestimmt die anfängliche Einstellung der Navigationsoption Single-Click-URL aktivieren im Dialogfeld Optionen.

EnableAdvancedMembersOption

Bestimmt, ob die Option Erweiterte Mitglieder ausblenden im Dialogfeld Optionen aktiviert ist.

EnableAsyncCompletion

Bestimmt die ob Sprache das Analysieren im Hintergrund unterstützt.

EnableCommenting

Bestimmt, ob vom Sprachdienst mithilfe eines einzelnen Befehls Kommentare zum Quellcode hinzugefügt oder daraus entfernt werden können.

EnableFormatSelection

Bestimmt, ob der Sprachdienst automatische Formatierung des Quellcodes unterstützt.

EnableLineNumbers

Bestimmt, ob die Option Zeilennummern im Dialogfeld Optionen ausgewählt werden kann.

FontColorDefaults

Informiert Visual Studio darüber, dass ein VSPackage einen Sprachdienst bereitstellt. Wird mit dem Managed Package Framework (MPF) verwendet.

HideAdvancedMembersByDefault

Bestimmt den Anfangsstatus der Option Erweiterte Elemente ausblenden im Dialogfeld Optionen.

LanguageName

Gibt den Namen der Sprache zurück.

LanguageResourceID

Gibt die ID der Ressource zurück, die verwendet wird, um die lokalisierte Version des Sprachnamens abzurufen.

LanguageServiceSid

Informiert Visual Studio darüber, dass ein VSPackage einen Sprachdienst bereitstellt. Wird mit dem Managed Package Framework (MPF) verwendet.

MatchBraces

Bestimmt, ob der Sprachdienst entsprechende Sprachpaare unterstützt.

MatchBracesAtCaret

Bestimmt, ob ein Sprachdienst entsprechende Sprachpaare beim Eingeben unterstützt.

MaxErrorMessages

Bestimmt die maximale Anzahl der Fehlermeldungen, die ein Sprachdienst für einen Analysevorgang melden kann.

QuickInfo

Bestimmt, ob der Sprachdienst die IntelliSense-Schnellinfo unterstützt.

RequestStockColors

Bestimmt, ob der Sprachdienst die von Visual Studio bereitgestellten integrierten farbigen Elemente verwendet.

ShowCompletion

Bestimmt, ob die Optionen zur Vervollständigung von Anweisungen im Dialogfeld Optionen aktiviert sind.

ShowDropDownOptions

Bestimmt, ob die Option Navigationsleiste im Dialogfeld Optionen aktiviert ist.

ShowHotURLs

Bestimmt, ob URLs so angezeigt werden, dass sie geklickt werden können. Diese Option wird nicht verwendet.

ShowMatchingBrace

Bestimmt, ob das entsprechende Sprachpaar in der Statusleiste dargestellt wird.

ShowSmartIndent

Bestimmt, ob die Option Smart Indenting im Dialogfeld Optionen aktiviert ist.

SingleCodeWindowOnly

Bestimmt, ob der Befehl Fenster –> Neues Fenster für einen Sprachdienst deaktiviert ist.

SupportCopyPasteOfHTML

Bestimmt, ob der Sprachdienst das Zwischenablageformat HTML für Kopier- und Einfügevorgänge unterstützt.

TypeId

Überschreiben Sie die TypeID-Eigenschaft, damit die von RegistrationAttribute abgeleiteten Klassen mit System.ComponentModel.TypeDescriptor.GetAttributes(...) arbeiten können. Ein von diesem abgeleitetes Attribut muss diese Eigenschaft nur überschreiben, wenn es ein besseres Steuerelement für die Instanzen benötigt, die auf eine Klasse angewendet werden können.

(Geerbt von RegistrationAttribute)

Methoden

GetPackageRegKeyPath(Guid)

Ruft den Registrierungspfad (relativ zum Registrierungsstamm der Anwendung) des VSPackages ab.

(Geerbt von RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Erstellt alle Registrierungsschlüssel und Einträge, wie vom Klassenkonstruktor angegeben.

Unregister(RegistrationAttribute+RegistrationContext)

Entfernt alle Registrierungsschlüssel und -einträge, wie vom Klassenkonstruktor angegeben.

Gilt für: