Share via


내부 Visual Studio 확장성 SDK

새로운 Visual Studio 확장성 SDK는 Visual Studio 2019에서 도입된 조정된 서비스 인프라를 기반으로 합니다. 주로 다음으로 구성됩니다.

  • 확장성 API의 진입점 역할을 하는 VisualStudioExtensibility 개체입니다. 이 개체에는 IDE의 확장성 지점을 노출하는 등의 Views()Languages() 확장 메서드가 있습니다.

  • 서비스를 쉽게 사용할 수 있도록 하기 위해 IServiceBroker 인프라에서 노출하는 조정된 서비스에 대한 래퍼 및 확장 메서드입니다. 경우에 따라 확장 메서드는 계약 인터페이스를 직접 반환해야 합니다.

  • 확장 파트, 명령 및 확장 자체에 대한 기본 클래스로, 확장에서 Visual Studio IDE로 조정된 서비스를 노출하는 데 사용됩니다. 이러한 서비스는 Visual Studio가 확장에 호출하는 기본 방법입니다.

  • 확장 파트 및 해당 특성을 기반으로 메타데이터 파일을 생성하는 .vsextension/extension.json 코드 생성기 프레임워크입니다. 이 파일은 확장 프로그램에서 노출하는 서비스, 확장 파트 및 기타 서비스를 선언합니다.

NuGet 패키지

Visual Studio의 새로운 확장성 모델은 API, 빌드 도구, 코드 생성 및 분석기를 제공하는 새로운 NuGet 패키지 집합에 따라 달라집니다.

Microsoft.VisualStudio.Extensibility.Sdk

링크: Microsoft.VisualStudio.Extensibility.Sdk 17.xxxxx

이 패키지는 다음 섹션에 멘션 모든 필수 구성 요소 패키지에 대한 종속성을 포함하는 기본 패키지입니다. 확장 개발자는 개별 참조 대신 이 메타 패키지에 대한 참조를 사용하는 것이 좋습니다.

Microsoft.VisualStudio.Extensibility.빌드

링크: Microsoft.VisualStudio.Extensibility.빌드 17.xxxxx

이 패키지에는 확장을 빌드하고 Visual Studio IDE에서 F5 디버깅을 사용하는 데 필요한 빌드 도구, 프로젝트 기능 코드 생성기가 포함되어 있습니다.

종속성

Microsoft.VisualStudio.Extensibility

이 패키지에는 Out-of-process 확장성 모델을 사용하여 확장을 개발하는 데 도움이 되는 SDK API 및 유틸리티 라이브러리가 포함되어 있습니다. 모든 확장에는 이 패키지에 대한 참조가 시작점으로 포함되어야 합니다.

Microsoft.VisualStudio.Extensibility.JsonGenerators.Sdk

이 패키지에는 빌드 중에 확장 메타데이터를 생성하는 데 필요한 코드 생성기가 포함되어 있습니다. 이 패키지가 없으면 필요한 메타데이터 파일이 포함되지 않으므로 컴파일된 확장이 제대로 작동하지 않을 수 있습니다.

선택적 패키지

향후 미리 보기에서는 패키지의 Microsoft.VisualStudio.Extensibility.Sdk 필수 종속성으로 포함되지 않지만 디버거, 소스 제어와 같은 특정 기능 영역에 대한 API를 제공하기 위해 필요에 따라 추가할 수 있는 NuGet 패키지가 있을 수 있습니다.