共用方式為


ProvideLanguageExtensionAttribute 類別

定義

將擴展名與特定語言服務產生關聯。

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
繼承
ProvideLanguageExtensionAttribute
屬性

範例

此範例示範如何將擴展名 「.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。

適用於