ProvideLanguageServiceAttribute Sınıf

Tanım

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

Şunlara uygulanır