Модель для пакетов управления исходным кодом

Следующая модель представляет пример реализации системы контроля над исходным кодом. В модели отображаются интерфейсы, которые необходимо реализовать, и службы среды, которые необходимо вызвать. Как и все сервисы, вы фактически вызываете методы определенного интерфейса, который вы получаете через сервис. Имена классов определяются, чтобы упростить контроль над исходным кодом и его выполнение.

Примеры SCC_TUP

Пример проекта системы контроля версий

Interfaces

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

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