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