Связанные службы и интерфейсы (пакет VSPackage системы управления версиями)
В этом разделе перечислены все интерфейсы VSPackage, связанные с управлением версиями, в пакете SDK Для Visual Studio. VSPackage системы управления версиями реализует некоторые из этих интерфейсов и использует другие для выполнения задач управления версиями.
Интерфейсы, реализованные и для VSPackage для системы управления версиями
Следующие интерфейсы описаны в пакете SDK для Visual Studio, а VSPackage системы управления версиями реализует подмножество из них в зависимости от требуемого набора компонентов. Некоторые интерфейсы помечаются как обязательные и должны быть реализованы каждым элементом управления версиями VSPackage.
Для тех интерфейсов, которые пакет не реализует, Visual Studio предоставляет реализацию по умолчанию. Обратите внимание, что реализация по умолчанию предназначена для случае, если vsPackage не зарегистрирован и проект не контролируется. VsPackage правильно написанного элемента управления версиями реализует все необходимые интерфейсы, а не оставляет его реализации этих интерфейсов по умолчанию.
VSPackage системы управления версиями должен реализовать частную службу, которая инкапсулирует некоторые или все перечисленные ниже интерфейсы.
Интерфейсы:
Обязательный: соответствующая сущность (VSPackage системы управления версиями, заглушка системы управления версиями, проект) должна реализовать интерфейс.
Рекомендуется: сущность должна реализовать этот интерфейс; В противном случае функциональность системы управления версиями может быть ограничена.
Необязательный: сущность может реализовать этот интерфейс, чтобы предоставить более широкий набор функций.
Интерфейс | Характер использования | Реализовано | Реализовать? |
---|---|---|---|
IVsQueryEditQuerySave2 | Редакторы вызывают этот интерфейс перед изменением или сохранением файла. VSPackage системы управления версиями может проверка из файла или запретить операцию, если проверка out завершается ошибкой. | VSPackage системы управления версиями | Рекомендуемая конфигурация |
IVsSccManager2 | Этот интерфейс предоставляет базовые функции управления версиями для проектов, таких как регистрация и отмена регистрации проектов с помощью системы управления версиями и предоставление поддержки базовых глифов управления версиями. | VSPackage системы управления версиями | Обязательное поле |
IVsSccProject2 | Этот интерфейс получен из IVsHierarchy QueryInterface функции или путем простого приведения объекта, реализуемого IVsHierarchy IVsSccProject2 в . Он используется для получения файлов под управлением версиями в проекте или для информирования проекта о текущем состоянии или расположении системы управления версиями. |
Project | Обязательное поле |
IVsSccProvider | Модуль интеграции использует этот интерфейс для задания текущего активного VSPackage. | VSPackage системы управления версиями | Обязательное поле |
IVsTrackProjectDocuments2 | Этот интерфейс основан на модели подписки. Любой VSPackage может сигнализировать о том, что он хочет получать события документа и получать советы оболочки о событиях, которые будут происходить. Она реализована и обрабатывается Visual Studio, которая, в свою очередь, передает события, реализующие IVsTrackProjectDocumentsEvents2 VSPackage. |
Заглушка системы управления версиями | Обязательное поле |
IVsTrackProjectDocuments3 | Этот интерфейс обеспечивает пакетную обработку, синхронизированные операции чтения и записи и расширенный OnQueryAddFiles метод. |
Заглушка системы управления версиями | Обязательное поле |
IVsTrackProjectDocumentsEvents2 | Обозреватель решений и проекты вызывают этот интерфейс при добавлении новых файлов в проекты или при переименовании или удалении файлов и папок из проектов. VSPackage системы управления версиями может проверка из файла проекта или отменить операцию. | VSPackage системы управления версиями | Рекомендуемая конфигурация |
IVsTrackProjectDocumentsEvents3 | Обозреватель решений и проекты вызывают этот интерфейс в ответ на вызовы, выполненные в методах интерфейса IVstrackProjectDocuments3. VSPackage системы управления версиями может отслеживать пакетные операции, синхронизированные операции чтения и записи и работать с более сложным OnQueryAddFiles методом. |
VSPackage системы управления версиями | Рекомендуемая конфигурация |
IVsSccEnlistmentPathTranslation | Этот интерфейс обеспечивает поддержку управления перечислением веб-проектов. | VSPackage системы управления версиями | Рекомендуемая конфигурация |
IVsSccManagerTooltip | Этот интерфейс используется для получения средства Советы для файлов, управляемых источником в проектах. | VSPackage системы управления версиями | Необязательно |
IVsSccOpenFromSourceControl | Этот интерфейс обеспечивает поддержку расширения пространства имен. | VSPackage системы управления версиями | Необязательно |
IVsSccControlNewSolution | VSPackage использует этот интерфейс для интеграции расширения пространства имен в диалоговые окна "Создать", "Открыть" или "Сохранить ". Следовательно, проекты можно автоматически добавлять в систему управления версиями при создании или добавлять в систему управления версиями при действии операции сохранения. | VSPackage системы управления версиями | Необязательно |
IVsSccGlyphs | VSPackage использует этот интерфейс для определения дополнительных глифов в качестве глифов системы управления версиями для узлов в Обозреватель решений. | VSPackage системы управления версиями | Необязательно |
IVsSccAddWebProjectFromSourceControl | Диалоговое окно "Добавить " для веб-проектов использует этот интерфейс. Он предоставляет методы для просмотра расположения системы управления версиями и открытия веб-проекта, ранее добавленного в репозиторий системы управления версиями в этом расположении. | VSPackage системы управления версиями | Рекомендуемая конфигурация |
IVsAsynchOpenFromScc | Этот интерфейс обеспечивает поддержку асинхронной (фоновой) загрузки проектов из системы управления версиями. | VSPackage системы управления версиями | Необязательно |
IVsAsynchOpenFromSccProjectEvents | Этот интерфейс позволяет проектам отслеживать ход асинхронной загрузки, инициированной IVsAsynchOpenFromScc. | Project | Необязательно |
IVsSccToolsOptions | Этот интерфейс позволяет интегрированной среде разработки запрашивать активный пакет управления версиями VSPackage. Интегрированная среда разработки запрашивает значение параметров управления версиями, которые имеют значение, даже если нет активного элемента управления версиями VSPackage. Этот интерфейс реализуется и обрабатывается Visual Studio. | Заглушка системы управления версиями | Обязательное поле |
IVsRegisterScciProvider | Этот интерфейс используется при регистрации VSPackage системы управления версиями. | Заглушка системы управления версиями | Обязательное поле |
SourceControl | Этот интерфейс используется в автоматизации. Таким образом, он предоставляет только функции, которые можно выполнять без отображения пользовательского интерфейса. | VSPackage системы управления версиями | Необязательно |
IVsPersistSolutionProps | Этот интерфейс используется для сохранения параметров системы управления версиями в файле решения (SLN). Параметры включают расположение системы управления версиями и флаги состояния системы управления версиями. | VSPackage системы управления версиями | Рекомендуемая конфигурация |
IVsPersistSolutionOpts | Этот интерфейс используется для сохранения параметров системы управления версиями в файле параметров решения (SUO). Это может включать параметры управления версиями для конкретного пользователя, такие как расположение зачисления текущего пользователя. | VSPackage системы управления версиями | Рекомендуемая конфигурация |
IVsSolutionEvents3 | Этот интерфейс используется для мониторинга событий для выполнения таких операций, как проверка в файлах проекта перед закрытием решений или получение новых файлов из системы управления версиями при открытии проекта. | VSPackage системы управления версиями | Рекомендуемая конфигурация |