ProvideLanguageServiceAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Informuje visual Studio, že balíček VSPackage poskytuje službu jazyka. Používá se s architekturou spravovaných balíčků (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
- Dědičnost
- Atributy
Příklady
Tento příklad ukazuje, jak se tento uživatelem definovaný atribut používá k registraci služby jazyka, která podporuje operace IntelliSense, párování závorek, asynchronní (pozadí) parsování a vlastní barevné položky.
Poznámka
Visual C# umožňuje zkrácenou formu uživatelem definovaného atributu vyřazením části "Attribute" názvu. Tato zkrácená forma se používá v tomto a všech ostatních příkladech v této třídě.
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
{
}
}
Poznámky
Tento uživatelem definovaný atribut (který je specifický pro Visual C#) slouží k poskytování informací nezbytných k registraci služby jazyka v sadě Visual Studio. Hodnoty určené tímto atributem jsou uloženy jako metadata v sestavení. Tato metadata jsou později používána programem, jako je například regpkg.exe (součást sady VSIP SDK), k vytvoření odpovídajících klíčů registru a položek, které říkají sadě Visual Studio o službě jazyka.
Položky registru ovlivněné nástrojem ProvideLanguageServiceAttribute jsou nalezeny pod následujícím klíčem registru:
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]
Kde [X.Y] je verze sady Visual Studio, například 8.0Exp a [název jazyka] je název jazyka (jak je uvedeno v druhém parametru konstruktoru ProvideLanguageServiceAttribute třídy).
Poznámka
Každá vlastnost určuje přesnou položku registru, která ji ovlivňuje, takže se tyto položky ve výše uvedeném příkladu nezobrazují. Tyto další položky se zobrazí na stejné úrovni jako tři zobrazené položky.
Konstruktor třídy určuje minimální požadované parametry. Třída atributu definovaná uživatelem také podporuje volitelné pojmenované parametry. Tyto pojmenované parametry se zadají v seznamu parametrů konstruktoru za požadovanými parametry. Všechny vlastnosti v této třídě, které podporují operátory get i set, lze zadat jako pojmenovaný parametr. Příklad ukazuje, jak se používají pojmenované parametry.
Poznámka
Některé z pojmenovaných parametrů jsou specifické pro architekturu spravovaného balíčku (MPF) a jsou uvedeny v popisu každé vlastnosti.
Následující uživatelem definované atributy se používají pro jazykové služby:
Atribut | Popis |
---|---|
ProvideLanguageServiceAttribute | Zaregistruje službu jazyka v sadě Visual Studio a určí podporované funkce. |
ProvideLanguageExtensionAttribute | Přidruží příponu souboru ke službě jazyka. |
ProvideLanguageEditorOptionPageAttribute | Určuje uzel vlastnosti nebo stránku pro dialogové okno Možnosti specifické pro službu jazyka. |
ProvideLanguageCodeExpansionAttribute | Určuje informace o umístění pro podporu fragmentů kódu ve službě jazyka. |
ProvideServiceAttribute | Zaregistruje službu jazyka jako službu sady Visual Studio. Tento atribut používají všechny služby poskytované ve spravovaném kódu. |
Poznámky pro dědice
Tuto třídu atributu nelze zdědit, takže není co implementovat.
Poznámky pro volající
Tato třída atributu se obvykle používá pro primární třídu VSPackage, i když se může zobrazit v jakékoli třídě. Tato třída by se měla zobrazit pouze jednou pro každou jazykovou službu, která vaše sada VSPackage podporuje.
Konstruktory
ProvideLanguageServiceAttribute(Object, String, Int32) |
Inicializuje novou instanci Shell.ProvideLanguageServiceAttribute třídy. |
Vlastnosti
AutoOutlining |
Určuje, jestli služba jazyka podporuje automatické osnovy. |
CodeSense |
Určuje, jestli služba jazyka podporuje operace IntelliSense. |
CodeSenseDelay |
Určuje dobu, po kterou je spuštěna operace parsování, která podporuje operaci IntelliSense. |
DebuggerLanguageExpressionEvaluator |
Určuje vyhodnocovač výrazů, který se používá k vyhodnocení výrazů. |
DefaultToInsertSpaces |
Určuje výchozí nastavení pro možnost Vložit mezery v dialogovém okně Možnosti pro službu jazyka. |
DefaultToNonHotURLs |
Určuje počáteční nastavení možnosti Povolit navigaci na adresu URL jedním kliknutím v dialogovém okně Možnosti. |
EnableAdvancedMembersOption |
Určuje, zda je v dialogovém okně Možnosti povolena možnost Skrýt pokročilé členy. |
EnableAsyncCompletion |
Určuje, zda jazyk podporuje analýzu pozadí. |
EnableCommenting |
Určuje, zda služba jazyka může komentovat a odkomentovat zdrojový kód pomocí jediného příkazu. |
EnableFormatSelection |
Určuje, zda služba jazyka podporuje automatické formátování zdrojového kódu. |
EnableLineNumbers |
Určuje, zda lze v dialogovém okně Možnosti vybrat možnost Čísla řádků. |
FontColorDefaults |
Informuje visual Studio, že balíček VSPackage poskytuje službu jazyka. Používá se s architekturou spravovaných balíčků (MPF). |
HideAdvancedMembersByDefault |
Určuje počáteční stav možnosti Skrýt pokročilé členy v dialogovém okně Možnosti. |
LanguageName |
Vrátí název jazyka. |
LanguageResourceID |
Vrátí ID prostředku použitého k získání lokalizované verze názvu jazyka. |
LanguageServiceSid |
Informuje visual Studio, že balíček VSPackage poskytuje službu jazyka. Používá se s architekturou spravovaných balíčků (MPF). |
MatchBraces |
Určuje, zda služba jazyka podporuje odpovídající jazykové páry. |
MatchBracesAtCaret |
Určuje, jestli služba jazyka podporuje odpovídající jazykové páry při psaní. |
MaxErrorMessages |
Určuje maximální počet chybových zpráv, které může služba jazyka hlásit pro operaci analýzy. |
QuickInfo |
Určuje, jestli služba jazyka podporuje rychlé informace technologie IntelliSense. |
RequestStockColors |
Určuje, jestli služba jazyka používá předdefinované barevné položky dodané sadou Visual Studio. |
ShowCompletion |
Určuje, jestli jsou v dialogovém okně Možnosti povolené možnosti dokončení příkazu. |
ShowDropDownOptions |
Určuje, jestli je v dialogovém okně Možnosti povolená možnost Navigační panel. |
ShowHotURLs |
Určuje, jestli se adresy URL zobrazují takovým způsobem, aby bylo možné na nich kliknout. Tato možnost se nepoužívá. |
ShowMatchingBrace |
Určuje, jestli se na stavovém řádku zobrazí odpovídající dvojice jazyků. |
ShowSmartIndent |
Určuje, jestli je v dialogovém okně Možnosti povolená možnost Inteligentní odsazení. |
SingleCodeWindowOnly |
Určuje, jestli je příkaz Okno –> Nové okno pro jazykovou službu zakázaný. |
SupportCopyPasteOfHTML |
Určuje, zda služba jazyka podporuje formát HTML schránky pro operace kopírování a vložení. |
TypeId |
Přepište vlastnost TypeID, aby odvozené třídy RegistrationAttribute fungovaly se System.ComponentModel.TypeDescriptor.GetAttributes(...). Atribut odvozený z tohoto atributu bude muset přepsat tuto vlastnost pouze v případě, že potřebuje lepší kontrolu nad instancemi, které lze použít na třídu. (Zděděno od RegistrationAttribute) |
Metody
GetPackageRegKeyPath(Guid) |
Získá cestu registru (vzhledem ke kořenovému adresáři registru aplikace) VSPackage. (Zděděno od RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
Vytvoří všechny klíče registru a položky určené konstruktorem třídy. |
Unregister(RegistrationAttribute+RegistrationContext) |
Odebere všechny klíče registru a položky určené konstruktorem třídy. |