Share via


Automation Extenders 구현 및 사용

업데이트: 2007년 11월

Visual Studio 자동화 모델의 Automation Extenders 부분에서는 지정된 프로젝트 형식으로 표시되는 속성을 추가하거나 필터링하는 기능을 제공합니다. 예를 들어, Visual Studio에서는 Visual Basic 클래스를 나타내는 개체가 포함된 Visual Basic 코드 모델을 제공합니다. Automation Extenders를 사용하면 중간 계층 비즈니스 개체의 기존 속성에 새 속성을 추가할 수 있습니다. 프로젝트의 속성 페이지에 표시되는 속성을 필터링하는 데 이 모델을 사용할 수도 있습니다.

다음과 같은 시나리오를 생각해 볼 수 있습니다. 사용자가 솔루션 탐색기에서 클래스 항목을 선택하고 마법사로 작성된 코드를 수정합니다. 또는 사용자가 편집기의 삽입 지점을 클래스 정의 안에 놓습니다. 이 경우 속성 창에 클래스의 추가 속성이 표시될 수 있습니다. 이는 중간 계층 비즈니스 개체 정의이므로 여기에는 적절한 속성이 표시됩니다. Automation Extenders를 사용하면 이 작업이 가능해집니다.

Automation Extenders 개체 모델에는 다음 개체가 있습니다.

개체 이름

설명

IExtenderProvider 인터페이스

알려진 Extender 공급자를 나타냅니다.

IExtenderProviderUnk 인터페이스

알 수 없는 Extender 공급자를 나타냅니다.

IExtenderSite 인터페이스

Automation Extender를 호스팅하는 사이트 개체입니다.

IFilterProperties 인터페이스

이 인터페이스를 구현하면 속성 창에 Extender의 지정된 속성을 표시하지 않을 수 있습니다.

ObjectExtenders 개체

Automation Extenders에 액세스할 수 있습니다.

이러한 개체를 사용하여 다음 작업을 수행할 수 있습니다.

  • 속성 창을 사용하거나 코드를 통해 액세스할 수 있는 속성을 Visual Studio의 개체에 추가합니다.

  • 속성 창에 표시되지 않도록 속성을 숨길 수 있습니다.

  • 이름은 같지만 특정 값 집합만 허용하는 속성으로 바꿀 수 있습니다.

Automation Extenders 예제

Automation Extenders를 사용하여 Visual Studio 개체에 속성과 메서드를 추가하는 방법에 대한 예제는 Visual Studio Automation Samples 웹 페이지에서 제공하는 Solution Extender Add-in 샘플을 참조하십시오.

SolutionExtender 샘플은 솔루션 속성 창 표시 개체와 DTE.Solution 자동화 개체를 모두 확장합니다. 이 샘플에서는 Notes, Created, LastAccessed 및 LastModified라는 네 가지 속성을 새로 추가합니다. 다음 매크로에 표시된 것처럼 DTE.Solution을 사용하여 새 속성을 참조할 수 있습니다.

Sub ShowNotes()
    Dim extender As Object
    extender = DTE.Solution.Extender("SolutionMisc")
    MsgBox(extender.Notes)
End Sub

이 샘플을 실행하려면

  1. SolutionExtender 솔루션을 빌드하고 배포합니다.

  2. 명령줄 레지스트리 파일 SolutionExtender.reg를 사용하여 SolutionExtender.reg에 등록 항목을 추가합니다.

  3. devenv.exe를 실행하고 솔루션을 열거나 새 솔루션을 만듭니다.

  4. 솔루션 탐색기에서 솔루션 노드를 선택하여 새로 추가한 속성을 봅니다.

참고 항목

작업

방법: 명령 추가 및 처리

방법: 추가 기능 만들기

연습: 마법사 만들기

개념

자동화 개체 모델 차트

기타 리소스

환경 창 만들기 및 제어

추가 기능 및 마법사 만들기

자동화 및 확장성 참조