Модель для пакетов системы управления версиями
Следующая модель представляет пример реализации системы управления версиями. В модели отображаются интерфейсы, которые необходимо реализовать, и службы среды, которые необходимо вызвать. Как и все службы, вы фактически вызываете методы определенного интерфейса, который вы получаете с помощью службы. Имена классов определяются, чтобы упростить работу системы управления версиями.
Пример проекта управления версиями
Интерфейсы
Вы можете реализовать управление версиями для новых типов проектов в Visual Studio с помощью списка интерфейсов, показанных в следующей таблице.
Интерфейс | Использование |
---|---|
IVsQueryEditQuerySave2 | Вызывается проектами и редакторами перед сохранением или изменением (грязное) файлов. Доступ к этому интерфейсу SVsQueryEditQuerySave осуществляется с помощью службы. |
IVsTrackProjectDocuments2 | Вызывается проектами для запроса разрешения на добавление, удаление или переименование файла или каталога. Этот интерфейс также вызывается проектами для информирования среды о завершении утвержденного действия добавления, удаления или переименования. Доступ к нему осуществляется с помощью SVsTrackProjectDocuments службы. |
IVsTrackProjectDocumentsEvents2 | Реализована любой сущностью, регистрируемой при добавлении, переименовании или удалении файла или каталога проекта. Чтобы зарегистрировать уведомление о событии, вызовите .AdviseTrackProjectDocumentsEvents |
IVsSccManager2 | Вызывается проектами для регистрации в пакете управления версиями и получения сведений о состоянии системы управления версиями. Доступ к этому интерфейсу SVsSccManager осуществляется с помощью службы. |
IVsSccProject2 | Реализован проектом для реагирования на запросы системы управления версиями для получения сведений о файлах и получения параметров системы управления версиями, необходимых для файла проекта. |