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