Общие сведения об интеграции системы управления версиями
В этом разделе сравниваются два способа интеграции с системой управления версиями Visual Studio; Подключаемый модуль управления версиями и VSPackage, предоставляющий решение для управления версиями, и выделяет новые функции системы управления версиями. Visual Studio позволяет вручную переключаться между VSPackages и подключаемыми модулями управления версиями, а также автоматическим переключением на основе решений.
интеграция системы управления версиями.
Visual Studio поддерживает два типа параметров интеграции системы управления версиями. Во всех версиях Visual Studio вы по-прежнему можете интегрировать подключаемый модуль на основе API подключаемого модуля управления версиями (ранее называемого API MSSCCI), который предоставляет основные функции управления версиями при использовании пользовательского интерфейса управления версиями Visual Studio. С другой стороны, VSPackage предоставляет новый путь к пакету SDK Visual Studio для глубокой интеграции Visual Studio, который требует высокого уровня сложности и автономии в модели управления версиями.
Подключаемый модуль управления версиями
Все версии Visual Studio поддерживают спецификацию API подключаемого модуля управления версиями 1.2 в качестве пути интеграции. Подключаемый модуль управления версиями записывает библиотеку DLL, которая реализует функции api подключаемого модуля управления версиями для интеграции системы управления версиями и регистрации, как описано в разделе "Создание подключаемого модуля управления версиями". В этом подходе интегрированная среда разработки (IDE) использует пользовательский интерфейс Visual Studio для диалоговых окон, таких как проверка в, проверка out, страницы свойств инструментов и параметров, панели инструментов и глифы управления версиями. Строгое соблюдение API подключаемого модуля управления версиями позволяет легко интегрироваться с Visual Studio и без проблем для пользователя. Это означает, что подключаемый модуль управления версиями должен реализовать большую часть функций и обратных вызовов, подробных в API.
Чтобы реализовать подключаемый модуль системы управления версиями с помощью API подключаемого модуля системы управления версиями, выполните следующие действия.
Создайте библиотеку DLL, реализующую функции, указанные в подключаемых модулях управления версиями.
Зарегистрируйте библиотеку DLL, выполнив соответствующие записи реестра (описано в разделе "Практическое руководство. Установка подключаемого модуля системы управления версиями").
Создание вспомогательного пользовательского интерфейса и отображение при появлении запроса пакета адаптера системы управления версиями (компонент Visual Studio, обрабатывающий функции управления версиями с помощью подключаемых модулей управления версиями)
В ответ на команду системы управления версиями интегрированная среда разработки Visual Studio представляет стандартный пользовательский интерфейс для основных операций, а затем передает сведения в подключаемый модуль управления версиями через функции, определенные в API подключаемого модуля управления версиями. Для дополнительных параметров подключаемый модуль управления версиями может вызываться для представления собственного пользовательского интерфейса, например для просмотра проекта, управляемого источником. Это означает, что пользователь может быть представлен двумя различными стилями пользовательского интерфейса при работе с системой управления версиями: пользовательский интерфейс, представленный Visual Studio, и пользовательский интерфейс, представленный подключаемым модулем управления версиями. Это наиболее заметно с расширенными операциями управления версиями.
Недостатки реализации подключаемого модуля системы управления версиями
Для расширенных функций пользователь может видеть два разных стиля интерфейсов, что приводит к возможной путанице.
Подключаемый модуль управления версиями ограничен моделью управления версиями, подразумеваемой API подключаемого модуля управления версиями.
Подключаемый модуль управления версиями может быть слишком строгим для некоторых сценариев управления версиями.
Преимущества реализации подключаемого модуля системы управления версиями
Visual Studio предоставляет весь пользовательский интерфейс для всех основных операций управления версиями, чтобы подключаемый модуль управления версиями не должен реализовать потенциально сложный пользовательский интерфейс.
Из-за строгого API подключаемый модуль управления версиями может легко взаимодействовать с внешними программами управления версиями, чтобы обеспечить более широкие функциональные возможности; Visual Studio не заботится о том, как выполняется функциональность системы управления версиями, только то, что она выполняется в соответствии с API подключаемого модуля управления версиями.
Проще реализовать подключаемый модуль управления версиями, чем VSPackage системы управления версиями.
VSPackage системы управления версиями
Пакет SDK Для Visual Studio обеспечивает глубокую интеграцию с Visual Studio с полным контролем функциональных возможностей системы управления версиями и полной заменой пользовательского интерфейса, предоставленного Visual Studio. VSPackage системы управления версиями зарегистрирован в Visual Studio и предоставляет функциональные возможности управления версиями. Несмотря на то что в Visual Studio можно зарегистрировать несколько vspackage для системы управления версиями, только одна из них может быть активной в любой момент времени. VSPackage системы управления версиями имеет полный контроль над функциональными возможностями системы управления версиями и внешним видом в Visual Studio во время его активности. Все остальные vsPackage системы управления версиями, которые могут быть зарегистрированы в системе, неактивны и не будут отображать пользовательский интерфейс вообще.
Для реализации VSPackage системы управления версиями требуется стратегия "все или ничего". Создатель VSPackage системы управления версиями должен инвестировать значительное количество усилий в реализации ряда интерфейсов управления версиями и новых элементов пользовательского интерфейса (диалоговых окон, меню и панелей инструментов), чтобы охватывать всю функциональность системы управления версиями. Дополнительные сведения см. в статье "Создание VSPackage системы управления версиями".
Недостатки реализации VSPackage системы управления версиями
VSPackage должен реализовать ряд сложных интерфейсов для успешной интеграции с Visual Studio.
VSPackage должен предоставить весь пользовательский интерфейс, необходимый для управления версиями; Visual Studio не предоставит никакой помощи в этой области.
VSPackage системы управления версиями тесно связан с Visual Studio и не может работать с автономными программами, поэтому функциональность не может быть как легко предоставлена внешней версии программы управления версиями.
Преимущества реализации VSPackage системы управления версиями
Так как VSPackage имеет полный контроль над пользовательским интерфейсом управления версиями и функциональными возможностями, пользователь предоставляет простой интерфейс для управления версиями.
VSPackage не ограничивается определенной моделью управления версиями.