次の方法で共有


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# では、名前の "Attribute" 部分を削除することで、ユーザー定義属性の短縮形を使用できます。 この短縮形は、このクラス全体のこのおよび他のすべての例で使用されます。

using Microsoft.VisualStudio.Shell;  

namespace MyLanguagePackage  
{  
    [ProvideLanguageExtension(typeof(MyLanguageService), ".myext")]  
    public class MyLanguagePackage : Package  
    {  
    }  
}  

注釈

このユーザー定義 C# 属性は、Visual Studio に特定の言語サービスのファイル拡張子を登録するために使用されます。 この属性は、必要な情報をアセンブリのメタデータに格納します。このメタデータは、後で regpkg.exe によって取得および使用されます。 言語サービス自体を登録する必要があります。この属性は、ファイル拡張子と言語サービスの間の関連付けのみを行います。 詳細については、「 VSPackage の登録」を参照してください。

この属性の複数のインスタンスを使用して、複数のファイル拡張子を言語サービスに関連付けることができます。

この属性の影響を受けるレジストリ キーは、Visual Studio レジストリ キーの下に存在します。

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

各値の説明:

  • [X.Y] は、8.0 や 8.0exp などの Visual Studio のバージョン番号です。

  • [FileExtension] は、先頭のピリオドを持つファイル拡張子を含む文字列です。たとえば、"myext" です。

  • [LanguageServiceGuid] は、言語サービスの GUID です。たとえば、 {B614A40A-80D9-4FAC-A6AD-FC2868FFF7CD}です。

言語サービスには、次のユーザー定義属性が使用されます。

属性 説明
ProvideLanguageServiceAttribute 言語サービスを Visual Studio に登録し、サポートされる機能を指定します。
ProvideLanguageExtensionAttribute ファイル拡張子を言語サービスに関連付けます。
ProvideLanguageEditorOptionPageAttribute 言語サービスに固有の [オプション] ダイアログ ボックスのプロパティ ノードまたはページを指定します。
ProvideLanguageCodeExpansionAttribute 言語サービスのコード スニペットをサポートする場所情報を指定します。
ProvideServiceAttribute 言語サービスを Visual Studio サービスとして登録します。 マネージド コードで提供されるすべてのサービスは、この属性を使用します。

注意 (継承者)

この属性クラスは から継承できないため、実装するものはありません。

注意 (呼び出し元)

VSPackage でこの属性を使用して、ファイル拡張子を言語サービスに関連付けます。

コンストラクター

ProvideLanguageExtensionAttribute(String, String)

指定した言語サービス GUID を ProvideLanguageExtensionAttribute 使用して、 属性の新しいインスタンスを初期化します。

ProvideLanguageExtensionAttribute(Type, String)

言語サービス クラスの型を ProvideLanguageExtensionAttribute 使用して、 属性の新しいインスタンスを初期化します。

プロパティ

Extension

関連付けられているファイル拡張子を返します。

LanguageService

言語 GUID を返します。

TypeId

RegistrationAttribute 派生クラスが System.ComponentModel.TypeDescriptor.GetAttributes(...) と連携できるように、TypeID プロパティをオーバーライドします。このプロパティから派生した属性は、クラスに適用できるインスタンスをより適切に制御する必要がある場合にのみ、このプロパティをオーバーライドする必要があります。

(継承元 RegistrationAttribute)

メソッド

GetPackageRegKeyPath(Guid)

VSPackage のレジストリ パス (アプリケーションのレジストリ ルートに対する相対パス) を取得します。

(継承元 RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

ファイル拡張子と言語サービス GUID をレジストリに格納します。

Unregister(RegistrationAttribute+RegistrationContext)

レジストリからファイル拡張子と言語サービス GUID を削除します。

適用対象