ProvideLanguageExtensionAttribute Sınıf
Ö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
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
{
}
}
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. |
Bu öznitelik sınıfı öğesinden devralınamaz, bu nedenle uygulanacak bir şey yoktur.
Bir dosya uzantısını dil hizmetinizle ilişkilendirmek için VSPackage'ınızda bu özniteliği kullanın.
Provide |
Belirtilen dil hizmeti GUID'sini ProvideLanguageExtensionAttribute kullanarak özniteliğin yeni bir örneğini başlatır. |
Provide |
Dil hizmeti sınıfınızın türünü kullanarak özniteliğin yeni bir örneğini ProvideLanguageExtensionAttribute başlatır. |
Extension |
İlişkili dosya uzantısını döndürür. |
Language |
Dil GUID'sini döndürür. |
Type |
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) |
Get |
VSPackage'ın kayıt defteri yolunu (uygulamanın kayıt defteri köküne göre) alır. (Devralındığı yer: RegistrationAttribute) |
Register(Registration |
Dosya uzantısını ve dil hizmeti GUID'sini kayıt defterine yerleştirir. |
Unregister(Registration |
Kayıt defterinden dosya uzantısını ve dil hizmeti GUID'sini kaldırır. |
Ürün | Sürümler |
---|---|
Visual Studio SDK | 2015, 2017, 2019, 2022 |