Анатомия расширения Visual Studio
Пакет VSIX — это VSIX-файл, содержащий одно или несколько расширений Visual Studio и метаданные, которые Visual Studio использует для классификации и установки расширений. Формат пакета VSIX соответствует стандарту Open Packaging Conventions (OPC), что означает, что его можно открыть любым средством, которое может открывать ZIP-файлы.
Проект расширения — это проект C# с несколькими дополнительными компонентами, которые делают его уникальным. В следующем видео рассматривается проект расширения, чтобы лучше понять, как работают проекты расширений:
Структура файлов
При создании новых расширений с помощью шаблона проекта VSIX w/Command (Community) структура файла выглядит следующим образом:
Файл .vsixmanifest является основным файлом. Это XML-файл, содержащий сведения о расширении, используемом Visual Studio. Все компоненты расширения регистрируются в файле .vsixmanifest. Это единственный обязательный файл в проекте VSIX.
Файл VSCommandTable.vsct является местом объявления команд. Это XML-файл и содержит определения команд кнопки, меню, сочетания клавиш и многое другое. Файл компилирует свое содержимое в объект типа 'blob' в выходном .dll, который Visual Studio использует для создания структуры меню командной таблицы. Этот файл объявляет только компоненты в командной таблице; Он не обрабатывает вызовы команд.
Файл *Package.cs является классом Package, который является точкой входа для большинства расширений. Здесь часто можно найти обработчики команд, окна инструментов, страницы параметров, службы и другие компоненты, зарегистрированные.
Компиляция
Проект компилируется в VSIX-файл, расположенный в папке /bin/debug или /bin/release, которая зависит от текущей конфигурации сборки решения. разработка расширений Visual Studioнагрузки предоставляет выделенные целевые объекты и задачи MSBuild для обработки вида проекта VSIX.
При сборке проекта VSIX он автоматически развертывается в экспериментальном экземпляре. Это можно контролировать в параметрах проекта VSIX:
Экспериментальный экземпляр
Чтобы защитить среду разработки Visual Studio от непроверенных приложений, которые могут изменить его, VSSDK предоставляет экспериментальное пространство, которое можно использовать для экспериментов. Вы разрабатываете новые приложения с помощью Visual Studio как обычно, но выполняете их с помощью этого экспериментального экземпляра.
Каждое приложение с пакетом VSIX запускает экспериментальный экземпляр Visual Studio в режиме отладки.
Если вы хотите запустить экспериментальный экземпляр Visual Studio вне определенного решения, выполните следующую команду в командном окне:
devenv.exe /RootSuffix Exp
Для изучения дополнительных концепций расширяемости посетите полезные ресурсы, которые пригодятся для использования этого набора инструментов.