ProvideLanguageExtensionAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將擴展名與特定語言服務產生關聯。
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
- 繼承
- 屬性
範例
此範例示範如何將擴展名 「.myext」 與語言服務產生關聯。
注意
Visual C# 可藉由卸除名稱的 「屬性」部分,來允許使用者定義屬性的速記形式。 這個簡短形式用於這個和這個類別中所有其他範例。
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
[ProvideLanguageExtension(typeof(MyLanguageService), ".myext")]
public class MyLanguagePackage : Package
{
}
}
備註
這個使用者定義的 C# 屬性可用來向 Visual Studio 註冊特定語言服務的擴展名。 此屬性會將必要的資訊放入元件元數據中,稍後由 regpkg.exe 擷取和使用。 您仍必須註冊語言服務本身;這個屬性只會讓擴展名與語言服務之間的關聯。 如需詳細資訊,請參閱 註冊 VSPackages。
您可以使用此屬性的多個實例,將多個擴展名與您的語言服務產生關聯。
受此屬性影響的登錄機碼存在於Visual Studio 登錄機碼底下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[X.Y]\
Languages\
File Extensions\
[FileExtension]\
(Default) = RG_SZ: [LanguageServiceGuid]
位置:
[X.Y] 是 Visual Studio 版本號碼,例如 8.0 或 8.0exp。
[FileExtension] 是字串,其中包含前置句號的擴展名;例如,“myext”。
[LanguageServiceGuid] 是您語言服務的 GUID;例如,
{B614A40A-80D9-4FAC-A6AD-FC2868FFF7CD}
。
下列使用者定義的屬性會用於語言服務:
屬性 | Description |
---|---|
ProvideLanguageServiceAttribute | 向 Visual Studio 註冊語言服務,並指定支援的功能。 |
ProvideLanguageExtensionAttribute | 將擴展名與語言服務產生關聯。 |
ProvideLanguageEditorOptionPageAttribute | 指定語言服務專屬之 [選項] 對話框的屬性節點或頁面。 |
ProvideLanguageCodeExpansionAttribute | 指定支援語言服務代碼段的位置資訊。 |
ProvideServiceAttribute | 將語言服務註冊為 Visual Studio 服務。 Managed 程式代碼中提供的所有服務都會使用這個屬性。 |
給繼承者的注意事項
這個屬性類別無法繼承自 ,因此不會實作任何專案。
給呼叫者的注意事項
在 VSPackage 上使用這個屬性,將擴展名與您的語言服務產生關聯。
建構函式
ProvideLanguageExtensionAttribute(String, String) |
使用指定的語言服務 GUID,初始化 屬性的新實例 ProvideLanguageExtensionAttribute 。 |
ProvideLanguageExtensionAttribute(Type, String) |
使用語言服務類別的類型 ProvideLanguageExtensionAttribute ,初始化 屬性的新實例。 |
屬性
Extension |
傳回相關聯的擴展名。 |
LanguageService |
傳回語言 GUID。 |
TypeId |
覆寫 TypeID 屬性,讓 RegistrationAttribute 衍生類別使用 System.ComponentModel.TypeDescriptor.GetAttributes (...) 。衍生自這個屬性的屬性必須覆寫此屬性,只有在實例上需要更好的控件,才能套用至類別。 (繼承來源 RegistrationAttribute) |
方法
GetPackageRegKeyPath(Guid) |
取得相對於 VSPackage 應用程式) 之登錄根目錄的登錄路徑 (。 (繼承來源 RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
將擴展名和語言服務 GUID 放入登錄中。 |
Unregister(RegistrationAttribute+RegistrationContext) |
從登錄中移除擴展名和語言服務 GUID。 |