ProvideLanguageServiceAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |