다음을 통해 공유


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 사용되는 어셈블리의 메타데이터에 필요한 정보를 넣습니다. 언어 서비스 자체를 등록해야 합니다. 이 특성은 파일 확장명과 언어 서비스 간의 연결만 만듭니다. 자세한 내용은 VSPackage 등록을 참조하세요.

이 특성의 여러 인스턴스를 사용하여 여러 파일 확장자를 언어 서비스와 연결할 수 있습니다.

이 특성의 영향을 받는 레지스트리 키는 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}.

언어 서비스에는 다음과 같은 사용자 정의 특성이 사용됩니다.

attribute Description
ProvideLanguageServiceAttribute Visual Studio에 언어 서비스를 등록하고 지원되는 기능을 지정합니다.
ProvideLanguageExtensionAttribute 파일 확장자를 언어 서비스와 연결합니다.
ProvideLanguageEditorOptionPageAttribute 언어 서비스와 관련된 옵션 대화 상자의 속성 노드 또는 페이지를 지정합니다.
ProvideLanguageCodeExpansionAttribute 언어 서비스에서 코드 조각을 지원할 위치 정보를 지정합니다.
ProvideServiceAttribute 언어 서비스를 Visual Studio 서비스로 등록합니다. 관리 코드에 제공된 모든 서비스는 이 특성을 사용합니다.

상속자 참고

이 특성 클래스는 에서 상속할 수 없으므로 구현할 것이 없습니다.

호출자 참고

VSPackage에서 이 특성을 사용하여 파일 확장자를 언어 서비스와 연결합니다.

생성자

ProvideLanguageExtensionAttribute(String, String)

지정된 언어 서비스 GUID를 사용하여 특성의 ProvideLanguageExtensionAttribute 새 instance 초기화합니다.

ProvideLanguageExtensionAttribute(Type, String)

언어 서비스 클래스의 형식을 사용하여 특성의 ProvideLanguageExtensionAttribute 새 instance 초기화합니다.

속성

Extension

연결된 파일 확장자를 반환합니다.

LanguageService

언어 GUID를 반환합니다.

TypeId

RegistrationAttribute 파생 클래스가 System.ComponentModel.TypeDescriptor.GetAttributes(...)와 함께 작동하도록 하려면 TypeID 속성을 재정의합니다. 이 속성에서 파생된 특성은 클래스에 적용할 수 있는 인스턴스에 대한 더 나은 제어가 필요한 경우에만 이 속성을 재정의해야 합니다.

(다음에서 상속됨 RegistrationAttribute)

메서드

GetPackageRegKeyPath(Guid)

VSPackage의 레지스트리 경로(애플리케이션의 레지스트리 루트를 기준으로)를 가져옵니다.

(다음에서 상속됨 RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

파일 확장명 및 언어 서비스 GUID를 레지스트리에 넣습니다.

Unregister(RegistrationAttribute+RegistrationContext)

레지스트리에서 파일 확장명 및 언어 서비스 GUID를 제거합니다.

적용 대상