Sdílet prostřednictvím


ProvideLanguageServiceAttribute Třída

Definice

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
ProvideLanguageServiceAttribute
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.

Platí pro