Klasa ProvideLanguageCodeExpansionAttribute
Rejestruje obsługi języka dla wstawki kodu programu.
Hierarchia dziedziczenia
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideLanguageCodeExpansionAttribute
Przestrzeń nazw: Microsoft.VisualStudio.Shell
Zestaw: Microsoft.VisualStudio.Shell.11.0 (w Microsoft.VisualStudio.Shell.11.0.dll)
Składnia
'Deklaracja
<ComVisibleAttribute(False)> _
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideLanguageCodeExpansionAttribute _
Inherits RegistrationAttribute
[ComVisibleAttribute(false)]
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideLanguageCodeExpansionAttribute : RegistrationAttribute
Typ ProvideLanguageCodeExpansionAttribute uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
ProvideLanguageCodeExpansionAttribute | Inicjuje nowe wystąpienie ProvideLanguageCodeExpansionAttribute klasy. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
ForceCreateDirs | Zwraca lub ustawia ciąg rozdzielany średnikami zawierający katalogu lub katalogów, które ma zostać utworzona. | |
LanguageName | Pobiera nazwę języka. | |
LanguageServiceSid | Pobiera identyfikator GUID usługi języka. | |
SearchPaths | Zwraca lub ustawia ciąg rozdzielany średnikami zawierający ścieżki domyślnej do wyszukiwania Urywki. | |
ShowRoots | Pobiera lub ustawia niezależnie od tego, czy powinny być wyświetlane korzenie wstawki kodu programu. | |
TypeId | Pobiera bieżące wystąpienie tego atrybutu. (Odziedziczone z RegistrationAttribute). |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Equals | Infrastruktura. Zwraca wartość, która wskazuje, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute). | |
GetHashCode | Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z Attribute). | |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). | |
IsDefaultAttribute | Gdy zastąpiony w klasie pochodnej, wskazuje, czy wartość to wystąpienie jest wartością domyślną dla klasy pochodnej. (Odziedziczone z Attribute). | |
Match | Gdy zastąpiony w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute). | |
Register | Tworzy wszystkie klucze rejestru i wpisy podaną przez konstruktora klasy. (Zastępuje RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)). | |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). | |
Unregister | Usuwa wszystkie klucze rejestru i wpisy podaną przez konstruktora klasy. (Zastępuje RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)). |
Początek
Jawne implementacje interfejsu
Nazwa | Opis | |
---|---|---|
_Attribute.GetIDsOfNames | Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone z Attribute). | |
_Attribute.GetTypeInfo | Pobiera informacje o typie dla obiektu, który można uzyskać informacji o typie dla interfejsu. (Odziedziczone z Attribute). | |
_Attribute.GetTypeInfoCount | Pobiera numer typu informacji interfejsów, że obiekt zawiera (0 lub 1). (Odziedziczone z Attribute). | |
_Attribute.Invoke | Zapewnia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone z Attribute). |
Początek
Uwagi
Ten atrybut zdefiniowane przez użytkownika (który jest specyficzny dla języka C#) jest używany do dostarczania informacji niezbędnych do rejestrowania usługi języka obsługę urywki kodu z Visual Studio.Wartości określone przez ten atrybut są przechowywane jako metadane w zestawie.Metadanych jest później wykorzystywany przez program, taki jak program regpkg.exe (część zestawu SDK VSIP) do tworzenia odpowiednich kluczy rejestru i zapisy, które informują Visual Studio o usłudze języka.
Wpisy rejestru dotkniętych ProvideLanguageCodeExpansionAttribute znajdują się w następującym kluczu rejestru:
HKEY_LOCAL_MACHINE\
SOFTWARE\
Microsoft\
VisualStudio\
[X.Y]\
Languages\
CodeExpansions\
[language name]\
(Default) = reg_sz: [Language Service GUID]
DisplayName = reg_sz: [language name resource ID]
IndexPath = reg_sz: [path to snippet index file]
Package = reg_sz: [Package GUID]
LangStringID = reg_sz: [language identifier]
Paths\
(Default) = reg_sz:
[language name] = reg_sz: [paths to snippets]
W przypadku gdy:
[X.Y] jest wersją Visual Studio, na przykład 8.0Exp.
[nazwa języka] to nazwa języka (jak określono w drugi parametr ProvideLanguageCodeExpansionAttribute konstruktora klasy).
[identyfikator zasobu Nazwa języka] jest Identyfikatorem zasobu Nazwa języka, który jest używany w celach wyświetlania i dlatego może być lokalizowany.
[ścieżka do pliku indeksu urywek] jest pełną ścieżką do pliku indeksu, który opisuje lokalizację Urywki.
[identyfikator języka] jest ciąg używany do oznaczania wszystkich urywki i urywki indeks pliku.Ciąg ten jest używany do kojarzenia zestaw urywki z usługą określonego języka.
[ścieżki do urywki] rozdzielany na colon naczepa listę ścieżek wyszukiwania Urywki, jeśli nie jest dostępny plik indeksu.
Ścieżki może zawierać zmienne zastępczych, które wskazują w miejscach takich jak zainstalowanego katalogu głównego dla Visual Studio i użytkownika Moja lokalizacja dokumentów.Zobacz Wsparcie dla wstawki kodu programu (w ramach pakietu zarządzanych) szczegóły tych podstawiania zmiennych.
Konstruktor klasy określa minimalne wymagane parametry.Klasa atrybutu user-defined obsługuje także opcjonalne parametry nazwane.Są one nazwane parametry określone w liście parametrów konstruktora po wymaganych parametrów.Wszystkie właściwości dla tej klasy, które obsługują zarówno get i set operatorów może być określona jako nazwany parametr.W przykładzie pokazano, jak nazwane parametry są używane.
Następujące atrybuty zdefiniowane przez użytkownika są używane dla usług językowych:
Atrybut |
Opis |
---|---|
Rejestruje usługi języka z Visual Studio i określa, jakie funkcje są obsługiwane. |
|
Kojarzy rozszerzenie pliku z usługi języka. |
|
Określa właściwość węzła lub strony w oknie dialogowym Opcje specyficzne dla usługi języka. |
|
ProvideLanguageCodeExpansionAttribute |
Określa informacje o lokalizacji, do obsługi wstawki kodu programu w służbie językowej. |
Rejestruje służbie językowej jako Visual Studio usługi.Wszystkie usługi świadczone w użyciu kodu zarządzanego ten atrybut. |
Uwagi dotyczące implementacji
Ten atrybut klasy nie może być dziedziczona z, więc nie ma nic do wprowadzenia w życie.
Uwagi dotyczące wywoływania
Ten atrybut klasy jest typowo stosowany do podstawowej klasy VSPackage, chociaż może być wyświetlany na każdej klasy.Ten atrybut powinien występować tylko raz.
Przykłady
Ten przykład pokazuje, jak ten atrybut zdefiniowane przez użytkownika jest używana do rejestracji wsparcie dla wstawki kodu programu obsługi języka.
[!UWAGA]
Visual C#pozwala na formularzu skróconym atrybutu user-defined przez upuszczenie "Atrybutu" część nazwy.Tego formularza skróconego jest używany w tym i innymi przykładami całej tej klasy.
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
internal class MyConstants
{
public const string languageName = "MyLanguage";
public const int languageNameResourceID = 106;
public const string languageIdentifier = "mylanguage";
public const string snippetsIndexFilePath = @"%InstallRoot%\MyLanguage\SnippetsIndex.xml";
}
[ProvideCodeExpansion(typeof(MyLanguageService),
MyConstants.languageName,
MyConstants.languageNameResourceID,
MyConstants.languageIdentifier,
MyConstants.snippetsIndexFilePath,
// Optional code expansion properties
SearchPaths = @"%InstallRoot%\MyLanguage\Snippets\%LCID%\Snippets;" +
@"\%MyDocs%\Code Snippets\MyLanguage\My Code Snippets";
)]
class MyLanguagePackage
{
}
}
Bezpieczeństwo wątku
Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.
Zobacz też
Informacje
Przestrzeń nazw Microsoft.VisualStudio.Shell
Inne zasoby
Wsparcie dla wstawki kodu programu (w ramach pakietu zarządzanych)