Modelo para paquetes de control de código fuente
El siguiente modelo representa un ejemplo de una implementación de control de código fuente. En el modelo, verá las interfaces que debe implementar y los servicios de entorno a los que debe llamar. Igual que con todos los servicios, realmente llama a los métodos de una interfaz determinada que obtiene mediante el servicio. Los nombres de las clases se identifican para que sea más fácil ver cómo se lleva a cabo el control de código fuente.
Ejemplo de proyecto de control de código fuente
Interfaces
Puede implementar el control de código fuente para los nuevos tipos de proyecto en Visual Studio mediante la lista de interfaces que se muestran en la tabla siguiente.
Interfaz | Usar |
---|---|
IVsQueryEditQuerySave2 | Llamado por proyectos y editores antes de guardar o cambiar archivos (con modificaciones). A esta interfaz se accede usando el servicio SVsQueryEditQuerySave. |
IVsTrackProjectDocuments2 | Llamado por proyectos para solicitar permiso para agregar, eliminar o cambiar el nombre de un archivo o directorio. Los proyectos también llaman a esta interfaz para informar al entorno cuando se completa una acción aprobada de adición, eliminación o cambio de nombre. Se accede a ella mediante el servicio SVsTrackProjectDocuments. |
IVsTrackProjectDocumentsEvents2 | Implementado por cualquier entidad que se registre para recibir notificaciones cuando los proyectos añadan, cambien el nombre o eliminen un archivo o directorio. Para registrarse para la notificación de eventos, llame a AdviseTrackProjectDocumentsEvents. |
IVsSccManager2 | Lo llaman los proyectos para registrarse con el paquete de control de código fuente y obtener información sobre el estado del control de código fuente. A esta interfaz se accede usando el servicio SVsSccManager. |
IVsSccProject2 | Implementado por el proyecto para responder a solicitudes de control de código fuente para obtener información sobre los archivos y obtener la configuración de control de código fuente necesaria para el archivo del proyecto. |