Wewnątrz zestawu VISUAL Studio Extensibility SDK

Nowy zestaw VISUAL Studio Extensibility SDK jest oparty na infrastrukturze usług obsługiwanych przez brokera, która została wprowadzona w programie Visual Studio 2019. Składa się przede wszystkim z następujących elementów:

  • Obiekt VisualStudioExtensibility, który działa jako punkt wejścia dla interfejsu API rozszerzalności. Ten obiekt ma na nim metody rozszerzenia, takie jak Views() lub Languages() , które uwidaczniają punkty rozszerzalności środowiska IDE.

  • Otoki i metody rozszerzeń wokół obsługiwanych usług obsługiwanych przez infrastrukturę IServiceBroker w celu ułatwienia korzystania z usług. W niektórych przypadkach metody rozszerzenia powinny zwracać interfejs kontraktu bezpośrednio.

  • Klasy bazowe dla części rozszerzeń, poleceń i samego rozszerzenia, które są używane do uwidaczniania usług obsługiwanych przez brokera z rozszerzenia do środowiska IDE programu Visual Studio. Te usługi są podstawową metodą wywoływaną przez program Visual Studio do rozszerzenia.

  • Struktura generatora kodu do generowania .vsextension/extension.json pliku metadanych na podstawie części rozszerzeń i jego atrybutów. Ten plik deklaruje usługi, części rozszerzenia i inne usługi uwidocznione przez rozszerzenie.

Pakiety NuGet

Nowy model rozszerzalności programu Visual Studio zależy od zestawu nowych pakietów NuGet zapewniających interfejsy API, narzędzia kompilacji, generowanie kodu i analizatory.

Microsoft.VisualStudio.Extensibility.Sdk

Link: Microsoft.VisualStudio.Extensibility.Sdk 17.xxxxx

Jest to pakiet podstawowy, który zawiera zależności do wszystkich pakietów wymagań wstępnych wymienionych w poniższych sekcjach. Zdecydowanie zalecamy deweloperom rozszerzeń odwołanie do tego meta-pakietu zamiast pojedynczych odwołań.

Microsoft.VisualStudio.Extensibility.Build

Link: Microsoft.VisualStudio.Extensibility.Build 17.xxxxx

Ten pakiet zawiera narzędzia kompilacji, generatory kodu możliwości projektu, które są niezbędne do utworzenia rozszerzenia i do pracy z debugowaniem F5 w środowisku IDE programu Visual Studio.

Zależności

Microsoft.VisualStudio.Rozszerzalność

Ten pakiet zawiera interfejsy API zestawu SDK i biblioteki narzędzi, które ułatwiają opracowywanie rozszerzeń przy użyciu modelu rozszerzalności poza procesem. Każde rozszerzenie powinno zawierać odwołanie do tego pakietu jako punkt wyjścia.

Microsoft.VisualStudio.Extensibility.JsonGenerators.Sdk

Ten pakiet zawiera generatory kodu, które są niezbędne do wygenerowania metadanych rozszerzenia podczas kompilacji. Bez tego pakietu skompilowane rozszerzenie może nie działać poprawnie, ponieważ nie będzie zawierać niezbędnych plików metadanych.

Pakiety opcjonalne

W przyszłych wersji zapoznawczych możemy mieć pakiety NuGet, które nie są dołączone jako wymagana zależność od pakietu, ale można je dodać zgodnie z Microsoft.VisualStudio.Extensibility.Sdk potrzebami, aby zapewnić interfejsy API dla niektórych obszarów funkcji, takich jak debuger, kontrola źródła.