Aracılığıyla paylaş


ProvideLanguageExtensionAttribute Sınıf

Tanım

Bir dosya uzantısını belirli bir dil hizmetiyle ilişkilendirir.

public ref class ProvideLanguageExtensionAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideLanguageExtensionAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageExtensionAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageExtensionAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideLanguageExtensionAttribute
Inherits RegistrationAttribute
Devralma
ProvideLanguageExtensionAttribute
Öznitelikler

Örnekler

Bu örnekte, ".myext" dosya uzantısının bir dil hizmetiyle nasıl ilişkilendirilecekleri gösterilmektedir.

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  
{  
    [ProvideLanguageExtension(typeof(MyLanguageService), ".myext")]  
    public class MyLanguagePackage : Package  
    {  
    }  
}  

Açıklamalar

Bu kullanıcı tanımlı C# özniteliği, Visual Studio'ya belirli bir dil hizmeti için bir dosya uzantısı kaydetmek için kullanılır. Bu öznitelik, gerekli bilgileri daha sonra alınan ve regpkg.exe tarafından kullanılan derlemenin meta verilerine yerleştirir. Dil hizmetinin kendisini kaydetmeniz gerekir; bu öznitelik yalnızca dosya uzantısı ile dil hizmeti arasındaki ilişkiyi yapar. Daha fazla bilgi için bkz. VSPackage'ları Kaydetme.

Birden çok dosya uzantısını dil hizmetinizle ilişkilendirmek için bu özniteliğin birden çok örneğini kullanabilirsiniz.

Bu öznitelikten etkilenen kayıt defteri anahtarı Visual Studio kayıt defteri anahtarı altında bulunur:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[X.Y]\  
  Languages\  
    File Extensions\  
      [FileExtension]\  
        (Default) = RG_SZ: [LanguageServiceGuid]  

burada:

  • [X.Y], 8.0 veya 8.0exp gibi bir Visual Studio sürüm numarasıdır.

  • [FileExtension] , başında nokta olan dosya uzantısını içeren bir dizedir; örneğin, "myext".

  • [LanguageServiceGuid] dil hizmetinizin GUID değeridir; örneğin, {B614A40A-80D9-4FAC-A6AD-FC2868FFF7CD}.

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

Bir dosya uzantısını dil hizmetinizle ilişkilendirmek için VSPackage'ınızda bu özniteliği kullanın.

Oluşturucular

ProvideLanguageExtensionAttribute(String, String)

Belirtilen dil hizmeti GUID'sini ProvideLanguageExtensionAttribute kullanarak özniteliğin yeni bir örneğini başlatır.

ProvideLanguageExtensionAttribute(Type, String)

Dil hizmeti sınıfınızın türünü kullanarak özniteliğin yeni bir örneğini ProvideLanguageExtensionAttribute başlatır.

Özellikler

Extension

İlişkili dosya uzantısını döndürür.

LanguageService

Dil GUID'sini döndürür.

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)

Dosya uzantısını ve dil hizmeti GUID'sini kayıt defterine yerleştirir.

Unregister(RegistrationAttribute+RegistrationContext)

Kayıt defterinden dosya uzantısını ve dil hizmeti GUID'sini kaldırır.

Şunlara uygulanır