Visual Studio 2019 SDK의 새로운 기능

Visual Studio SDK에는 Visual Studio 2019에 대한 다음과 같은 새로운 기능과 업데이트된 기능이 있습니다.

동기적으로 자동 로드된 확장 경고

이제 설치된 확장이 시작 시 동기적으로 자동 로드되는 경우 사용자에게 경고가 표시됩니다. 동기적으로 자동 로드된 확장에서 경고에 대해 자세히 알아볼 수 있습니다.

통합된 단일 Visual Studio SDK

이제 단일 NuGet 패키지 Microsoft.VisualStudio.SDK를 통해 모든 Visual Studio SDK 자산을 가져올 수 있습니다.

편집기 등록 기능 향상

Visual Studio는 개발 이후 특정 확장(예: .xaml 및 .rc)에 대한 선호도를 선언하거나 모든 확장(.*)에 적합한 사용자 지정 편집기 등록을 지원했습니다. Visual Studio 2019 버전 16.1부터 편집기 등록에 대한 지원을 확대합니다.

파일 이름

편집기는 특정 파일 확장명 지원을 등록하는 것 외에도 편집기의 패키지에 새 ProvideEditorFilename 특성을 적용하여 특정 파일 이름을 지원하도록 등록할 수 있습니다.

예를 들어 모든 .json 파일을 지원하는 편집기가 이 ProvideEditorExtension 특성을 해당 패키지에 적용합니다.

[ProvideEditorExtension(typeof(MyEditor), ".json", MyEditor.Priority)]

16.1부터, MyEditor가 잘 알려진 .json 파일 몇 개만 지원하는 경우 해당 패키지에 이러한 ProvideEditorFilename 특성을 대신 적용할 수 있습니다.

[ProvideEditorFilename(typeof(MyEditor), "particular.json", MyEditor.Priority)]
[ProvideEditorFilename(typeof(MyEditor), "special.json",    MyEditor.Priority)]

UIContext

편집기는 활성화된 시기를 나타내는 하나 이상의 UIContext를 등록할 수 있습니다. UIContext는 편집기를 등록하는 패키지에 ProvideEditorUIContextAttribute의 인스턴스를 하나 이상 적용하여 등록됩니다.

편집기가 UIContext를 등록한 경우:

  • 지정된 확장명의 파일이 열릴 때 등록된 UIContext 중 하나 이상이 활성 상태이면 편집기가 편집기 검색에 포함됩니다.
  • 등록된 UIContext가 하나도 활성 상태가 아니면 편집기가 편집기 검색에 포함되지 않습니다.

편집기가 UIContext를 등록하지 않으면 해당 확장에 대한 편집기 검색에 항상 포함됩니다.

예를 들어 C# 프로젝트가 열려 있는 경우에만 편집기를 사용할 수 있는 경우 ProvideEditorUIContext 특성을 적용하여 이 선호도를 선언할 수 있습니다.

[ProvideEditorUIContext(typeof(MyEditor), KnownUIContexts.CSharpProjectContext)]