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


Структура VSPackage (пакет VSPackage системы управления версиями)

Пакет SDK для системы управления версиями предоставляет рекомендации по созданию VSPackage, позволяющему реализации системы управления версиями интегрировать свои функции управления версиями с средой Visual Studio. VSPackage — это COM-компонент, который обычно загружается по запросу интегрированной средой разработки Visual Studio на основе служб, объявленных пакетом в записях реестра. Каждый ПАКЕТ VSPackage должен реализовывать IVsPackage. VSPackage обычно использует службы, предоставляемые интегрированной интегрированной среду разработки Visual Studio, и проверит некоторые службы собственного.

VSPackage объявляет его элементы меню и устанавливает состояние элемента по умолчанию через VSCT-файл. Интегрированная среда разработки Visual Studio отображает элементы меню в этом состоянии до загрузки VSPackage. Впоследствии реализация QueryStatus метода VSPackage вызывается для включения или отключения элементов меню.

Характеристики пакета управления версиями

VSPackage системы управления версиями глубоко интегрирован в Visual Studio. К семантике VSPackage относятся:

  • Интерфейс, реализуемый в силу того, что vsPackage ( IVsPackage интерфейс)

  • Реализация команды пользовательского IOleCommandTarget интерфейса (VSCT-файл и реализация интерфейса)

  • Регистрация VSPackage в Visual Studio.

VSPackage системы управления версиями должен взаимодействовать с этими другими сущностями Visual Studio:

  • Проекты

  • Редакторы

  • Решения

  • Windows

  • Запущенная таблица документов

Службы среды Visual Studio, которые могут использоваться

SVsShell

SVsUIShell

SVsSolution

Служба SVsRegisterScciProvider

SVsQueryEditQuerySave

SVsTrackProjectDocuments

SVsSccManager

Интерфейсы VSIP, реализованные и вызываемые

Пакет управления версиями — это VSPackage, поэтому он может взаимодействовать непосредственно с другими пакетами VSPackage, зарегистрированными в Visual Studio. Чтобы обеспечить полную функциональность системы управления версиями, VSPackage может работать с интерфейсами, предоставляемыми проектами или оболочкой.

Каждый проект в Visual Studio должен быть распознана IVsProject3 как проект в интегрированной среде разработки Visual Studio. Однако этот интерфейс недостаточно специализирован для управления версиями. Проекты, которые, как ожидается, находятся под управлением версиями, реализуются IVsSccProject2. Этот интерфейс используется VSPackage для запроса проекта к содержимому и предоставления ему глифов и сведений о привязке (сведения, необходимые для установления соединения между расположением сервера и расположением диска проекта, который находится под управлением версиями).

VSPackage системы управления версиями реализует IVsSccManager2, что, в свою очередь, позволяет проектам регистрироваться для управления версиями и получать глифы состояния.

Полный список интерфейсов, которые должен учитывать VSPackage системы управления версиями, см. в разделе "Связанные службы и интерфейсы".

См. также