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 以降では、いくつかのよく知られた .json ファイルのみが MyEditor でサポートされている場合、代わりに次の ProvideEditorFilename 属性をそのパッケージに適用できます。

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

UIContexts

エディターには、それが有効になるケースを表す 1 つ以上の UIContexts を登録できます。 UIContexts は、エディターを登録するパッケージに ProvideEditorUIContextAttribute の 1 つ以上のインスタンスを適用することで登録されます。

エディターに UIContexts が登録されている場合:

  • 指定された拡張子を持つファイルを開いたときに、登録されている UIContexts の少なくとも 1 つがアクティブな場合、そのエディターはエディターの検索に含まれます。
  • 登録されているどの UIContexts もアクティブでない場合、そのエディターはエディターの検索に含まれません。

エディターに UIContexts が登録されていない場合、そのエディターは常にその拡張子のエディターの検索に含まれます。

たとえば、C# プロジェクトが開いているときにのみ使用できるエディターの場合は、ProvideEditorUIContext 属性を適用して、次のアフィニティを宣言できます。

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