ProvideLanguageServiceAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Visual Studio'ya VSPackage'ın bir dil hizmeti sağladığını bildirir. Yönetilen paket çerçevesi (MPF) ile kullanılır.
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
- Devralma
- Öznitelikler
Örnekler
Bu örnek IntelliSense işlemlerini, küme ayracı eşleştirmeyi, zaman uyumsuz (arka plan) ayrıştırmayı ve özel renklendirilebilir öğeleri destekleyen bir dil hizmetini kaydetmek için bu kullanıcı tanımlı özniteliğin nasıl kullanıldığını gösterir.
Not
Visual C# adın "Öznitelik" bölümünü bırakarak kullanıcı tanımlı özniteliğin kısa bir biçimine izin verir. Bu kısaltma biçimi, bu sınıfta ve tüm diğer örneklerde kullanılır.
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
{
}
}
Açıklamalar
Bu kullanıcı tanımlı öznitelik (Visual C#'ye özgüdür) Visual Studio'ya bir dil hizmeti kaydetmek için gerekli bilgileri sağlamak için kullanılır. Bu öznitelik tarafından belirtilen değerler derlemede meta veri olarak depolanır. Bu meta veriler daha sonra regpkg.exe (VSIP SDK'sının bir parçası) gibi bir program tarafından Visual Studio'ya dil hizmetini belirten ilgili kayıt defteri anahtarlarını ve girdilerini oluşturmak için kullanılır.
tarafından etkilenen ProvideLanguageServiceAttribute kayıt defteri girdileri aşağıdaki kayıt defteri anahtarı altında bulunur:
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]
Burada [X.Y] Visual Studio sürümüdür, örneğin, 8.0Exp ve [dil adı] , dilin adıdır (sınıf oluşturucusunun ProvideLanguageServiceAttribute ikinci parametresinde belirtildiği gibi).
Not
Her özellik etkilediği tam kayıt defteri girişini belirtir, bu nedenle bu girdiler yukarıdaki örnekte gösterilmez. Bu ek girdiler, gösterilen üç girişle aynı düzeyde görünür.
Sınıf oluşturucu gerekli en düşük parametreleri belirtir. Kullanıcı tanımlı öznitelik sınıfı isteğe bağlı adlandırılmış parametreleri de destekler. Bu adlandırılmış parametreler, gerekli parametrelerden sonra oluşturucunun parametre listesinde belirtilir. Bu sınıfta hem get hem de set işleçlerini destekleyen tüm özellikler adlandırılmış parametre olarak belirtilebilir. Örnek, adlandırılmış parametrelerin nasıl kullanıldığını gösterir.
Not
Adlandırılmış parametrelerden bazıları yönetilen paket çerçevesine (MPF) özeldir ve bunlar her özellik açıklamasında belirtilir.
Dil hizmetleri için aşağıdaki kullanıcı tanımlı öznitelikler kullanılır:
Öznitelik | Açıklama |
---|---|
ProvideLanguageServiceAttribute | Dil hizmetini Visual Studio'ya kaydeder ve hangi özelliklerin desteklendiği belirtir. |
ProvideLanguageExtensionAttribute | Bir dosya uzantısını dil hizmetiyle ilişkilendirir. |
ProvideLanguageEditorOptionPageAttribute | Dil hizmetine özgü Seçenekler iletişim kutusu için bir özellik düğümü veya sayfa belirtir. |
ProvideLanguageCodeExpansionAttribute | Dil hizmetinde kod parçacıklarını desteklemek için konum bilgilerini belirtir. |
ProvideServiceAttribute | Bir dil hizmetini Visual Studio hizmeti olarak kaydeder. Yönetilen kodda sağlanan tüm hizmetler bu özniteliği kullanır. |
Devralanlara Notlar
Bu öznitelik sınıfı öğesinden devralınamaz, bu nedenle uygulanacak bir şey yoktur.
Arayanlara Notlar
Bu öznitelik sınıfı genellikle birincil VSPackage sınıfınıza uygulanır, ancak herhangi bir sınıfta görüntülenebilir. Bu sınıf, VSPackage'ınızın desteklediği her dil hizmeti için yalnızca bir kez görünmelidir.
Oluşturucular
ProvideLanguageServiceAttribute(Object, String, Int32) |
Shell.ProvideLanguageServiceAttribute sınıfının yeni bir örneğini başlatır. |
Özellikler
AutoOutlining |
Dil hizmetinin otomatik ana hat oluşturmayı desteklenip desteklemediğini belirler. |
CodeSense |
Dil hizmetinin IntelliSense işlemlerini desteklenip desteklemediğini belirler. |
CodeSenseDelay |
IntelliSense işlemini desteklemek için ayrıştırma işleminin başlatılmadan önce geçmesi gereken süreyi belirler. |
DebuggerLanguageExpressionEvaluator |
İfadeleri değerlendirmek için kullanılan ifade değerlendiricisini belirler. |
DefaultToInsertSpaces |
Dil hizmetinin Seçenekler iletişim kutusundaki Boşluk ekle seçeneğinin varsayılan ayarını belirler. |
DefaultToNonHotURLs |
Seçenekler iletişim kutusundaki Tek tıklamayla URL gezintisini etkinleştir seçeneğinin ilk ayarını belirler. |
EnableAdvancedMembersOption |
Seçenekler iletişim kutusunda Gelişmiş Üyeleri Gizle seçeneğinin etkinleştirilip etkinleştirilmediğini belirler. |
EnableAsyncCompletion |
Dilin arka plan ayrıştırma işlemini destekleyip desteklemediğini belirler. |
EnableCommenting |
Dil hizmetinin tek bir komut kullanarak kaynak kodu açıklama satırı yapıp çıkaramayacağını belirler. |
EnableFormatSelection |
Dil hizmetinin kaynak kodun otomatik biçimlendirmesini desteklenip desteklemediğini belirler. |
EnableLineNumbers |
Seçenekler iletişim kutusunda Satır numaraları seçeneğinin belirlenip belirlenemediğini belirler. |
FontColorDefaults |
Visual Studio'ya VSPackage'ın bir dil hizmeti sağladığını bildirir. Yönetilen paket çerçevesi (MPF) ile kullanılır. |
HideAdvancedMembersByDefault |
Seçenekler iletişim kutusundaki Gelişmiş Üyeleri Gizle seçeneğinin ilk durumunu belirler. |
LanguageName |
Dilin adını döndürür. |
LanguageResourceID |
Dil adının yerelleştirilmiş sürümünü almak için kullanılan kaynak kimliğini döndürür. |
LanguageServiceSid |
Visual Studio'ya VSPackage'ın bir dil hizmeti sağladığını bildirir. Yönetilen paket çerçevesi (MPF) ile kullanılır. |
MatchBraces |
Dil hizmetinin eşleşen dil çiftlerini desteklenip desteklemediğini belirler. |
MatchBracesAtCaret |
Bir dil hizmetinin yazarken eşleşen dil çiftlerini desteklediğini belirler. |
MaxErrorMessages |
Bir dil hizmetinin ayrıştırma işlemi için bildirebileceği en fazla hata iletisi sayısını belirler. |
QuickInfo |
Dil hizmetinin IntelliSense Hızlı Bilgileri'ni desteklenip desteklemediğini belirler. |
RequestStockColors |
Dil hizmetinin Visual Studio tarafından sağlanan yerleşik renklendirilebilir öğeleri kullanıp kullanmadığını belirler. |
ShowCompletion |
Seçenekler iletişim kutusunda Deyim tamamlama seçeneklerinin etkinleştirilip etkinleştirilmediğini belirler. |
ShowDropDownOptions |
Seçenekler iletişim kutusunda Gezinti çubuğu seçeneğinin etkinleştirilip etkinleştirilmediğini belirler. |
ShowHotURLs |
URL'lerin tıklanabilir olduklarını gösterecek şekilde görüntülenip görüntülenmediğini belirler. Bu seçenek kullanılmaz. |
ShowMatchingBrace |
Eşleşen dil çiftinin durum çubuğunda gösterilip gösterilmediğini belirler. |
ShowSmartIndent |
Seçenekler iletişim kutusunda Akıllı Girintileme seçeneğinin etkinleştirilip etkinleştirilmediğini belirler. |
SingleCodeWindowOnly |
Window -> New Window komutunun bir dil hizmeti için devre dışı bırakılıp bırakılmadığını belirler. |
SupportCopyPasteOfHTML |
Dil hizmetinin kopyalama ve yapıştırma işlemleri için pano biçimi HTML'sini destekleyip desteklemediğini belirler. |
TypeId |
RegistrationAttribute türetilmiş sınıflarının System.ComponentModel.TypeDescriptor.GetAttributes(...) ile çalışmasına izin vermek için TypeID özelliğini geçersiz kılın. Bu özellikten türetilen bir özniteliğin, yalnızca bir sınıfa uygulanabilecek örnekler üzerinde daha iyi bir denetime ihtiyacı varsa bu özelliği geçersiz kılması gerekir. (Devralındığı yer: RegistrationAttribute) |
Yöntemler
GetPackageRegKeyPath(Guid) |
VSPackage'ın kayıt defteri yolunu (uygulamanın kayıt defteri köküne göre) alır. (Devralındığı yer: RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
Sınıf oluşturucu tarafından belirtilen tüm kayıt defteri anahtarlarını ve girdilerini oluşturur. |
Unregister(RegistrationAttribute+RegistrationContext) |
Sınıf oluşturucu tarafından belirtilen tüm kayıt defteri anahtarlarını ve girdilerini kaldırır. |