Архитектура расширяемости VS (API пакета / библиотека Visual Studio) - PullRequest
6 голосов
/ 01 апреля 2011

MSDN Extensibility Platfrom Description

Недавно я обнаружил показанную выше диаграмму платформы расширяемости Visual Studio от Microsoft.

Большинство вещей мне ясно.Однако мне интересно узнать об API пакета и VSL (библиотека Visual Studio).

Я пытался найти больше, но не смог найти никакой информации.

Вещи, которые я не совсемПонимаю:- Что такое пакет API?- Что именно VSL?- Какова связь между InteropAssemblies / VSL и API пакета?Обертывают ли InteropAssemblies доступ к API пакета?- Почему следует использовать VSL при реализации собственного пакета?Каковы преимущества?

Кто-нибудь имеет больше информации по этим предметам или кто-то знает некоторые ресурсы?

1 Ответ

2 голосов
/ 01 апреля 2011

«Пакет API» - это набор интерфейсов COM, предоставляемых в Visual Studio SDK.Это необработанные интерфейсы расширяемости для оболочки Visual Studio.Почти все интерфейсы начинаются с 'IVs' (например, IVsShell, IVsHierarchy, IVsSolution и т. Д.). Если у вас установлен Visual Studio 2010 SDK, взгляните на содержимое% SDKInstall% \ VisualStudioIntegration \ Common \ IDL дляподробнее.

Вы можете думать о VSL как о среде, вдохновленной ATL, для создания собственных пакетов Visual Studio.Если вы создадите пакет Visual Studio C ++ из включенного шаблона, выходные данные будут использовать VSL.Преимущество этого состоит в том, что он сводит к минимуму количество «канализационного» кода, необходимого для написания данной функции (например, добавление нового окна инструментов).

Сборки взаимодействия предназначены для взаимодействия .NET / COM.Они предоставляют правильные сигнатуры методов и структуру для управляемого (C # / VB / F #) кода, вызываемого в API пакета.

Центр расширений Visual Studio в MSDN - хорошее место для начала.дополнительные ссылки на документацию, блоги, статьи и т. д., которые могут вам помочь.

...