Поделиться через


Анатомия расширения Visual Studio

Пакет VSIX — это VSIX-файл, содержащий одно или несколько расширений Visual Studio и метаданные, которые Visual Studio использует для классификации и установки расширений. Формат пакета VSIX соответствует стандарту Open Packaging Conventions (OPC), что означает, что его можно открыть любым средством, которое может открывать ZIP-файлы.

Проект расширения — это проект C# с несколькими дополнительными компонентами, которые делают его уникальным. В следующем видео рассматривается проект расширения, чтобы лучше понять, как работают проекты расширений:

Структура файла

При создании новых расширений с помощью шаблона проекта VSIX w/Command (Community) структура файла выглядит следующим образом:

Структура файлов проекта VSIX.

Vsixmanifest-файл является основным файлом. Это XML-файл, содержащий сведения о расширении, используемом Visual Studio. Все компоненты расширения регистрируются в vsixmanifest-файле . Это единственный обязательный файл в проекте VSIX.

Vsct-файл VSCommandTable.vsct является местом объявления команд. Это XML-файл и содержит определения команд кнопки, меню, сочетания клавиш и многое другое. Файл компилирует его содержимое в большой двоичный объект в выходных .dll, который Visual Studio использует для создания всей структуры меню командной таблицы. Этот файл объявляет только компоненты в командной таблице; Он не обрабатывает вызовы команд.

Файл *Package.cs — это класс Package, который является точкой входа для большинства расширений. Здесь часто можно найти обработчики команд, окна инструментов, страницы параметров, службы и другие компоненты, зарегистрированные.

табличных переменных

Проект компилируется в VSIX-файл, расположенный в папке /bin/debug или /bin/release , которая зависит от текущей конфигурации сборки решения. Рабочая нагрузка разработки расширений Visual Studio предоставляет выделенные целевые объекты и задачи MSBuild для обработки вкуса проекта VSIX.

При сборке проекта VSIX он автоматически развертывается в экспериментальном экземпляре. Это можно контролировать в параметрах проекта VSIX:

Свойства проекта VSIX.

Экспериментальный экземпляр

Чтобы защитить среду разработки Visual Studio от непроверенных приложений, которые могут изменить его, VSSDK предоставляет экспериментальное пространство, которое можно использовать для экспериментов. Вы разрабатываете новые приложения с помощью Visual Studio как обычно, но выполняете их с помощью этого экспериментального экземпляра.

Каждое приложение с пакетом VSIX запускает экспериментальный экземпляр Visual Studio в режиме отладки.

Если вы хотите запустить экспериментальный экземпляр Visual Studio вне определенного решения, выполните следующую команду в командном окне:

devenv.exe /RootSuffix Exp

Дополнительные понятия расширяемости см . в полезных ресурсах, которые пригодятся для выполнения этого набора средств.