Interfaces y servicios relacionados (VSPackage de control de código fuente)
En esta sección se enumeran todas las interfaces relacionadas con VSPackage del control de código fuente en el SDK de Visual Studio. El control de código fuente VSPackage implementa algunas de estas interfaces y usa otras para realizar tareas de control de código fuente.
Interfaces implementadas por y para VSPackages de control de código fuente
Las interfaces siguientes se describen en el SDK de Visual Studio y el control de código fuente VSPackage implementa un subconjunto de ellas en función de su conjunto de características deseado. Algunas interfaces se marcan como necesarias y deben implementarse mediante cada VSPackage de control de código fuente.
Para esas interfaces que un paquete no implementa, Visual Studio proporciona una implementación predeterminada. Tenga en cuenta que la implementación predeterminada está diseñada para el caso cuando no se registra ningún VSPackage y no se controla ningún proyecto. Un control de código fuente escrito correctamente VSPackage implementa todas las interfaces necesarias en lugar de dejarlo en la implementación predeterminada de esas interfaces.
Un control de código fuente VSPackage debe implementar un servicio privado que encapsula algunas o todas las interfaces siguientes.
Las interfaces son:
Obligatorio: la entidad adecuada (VSPackage de control de código fuente, código auxiliar de control de código fuente, proyecto) debe implementar la interfaz.
Recomendado: la entidad debe implementar esta interfaz; De lo contrario, la funcionalidad de control de código fuente puede estar limitada.
Opcional: la entidad puede implementar esta interfaz para proporcionar un conjunto de características más completo.
Interfaz | Propósito | Implementado por | ¿Implementar? |
---|---|---|---|
IVsQueryEditQuerySave2 | Los editores llaman a esta interfaz antes de modificar o guardar un archivo. El control de código fuente VSPackage puede desproteger el archivo o denegar la operación si se produce un error en la desprotección. | Control de código fuente VSPackage | Recomendado |
IVsSccManager2 | Esta interfaz proporciona funcionalidad básica de control de código fuente para proyectos, como registrar y anular el registro de proyectos con control de código fuente y proporcionar compatibilidad con glifos de control de código fuente básicos. | Control de código fuente VSPackage | Obligatorio |
IVsSccProject2 | Esta interfaz se obtiene del uso de IVsHierarchy la QueryInterface función o simplemente convierte el objeto que implementa IVsHierarchy en IVsSccProject2 . Se usa para obtener los archivos bajo control de código fuente en un proyecto o para informar al proyecto del estado o la ubicación del control de código fuente actual. |
Proyecto | Obligatorio |
IVsSccProvider | El módulo de integración usa esta interfaz para establecer el VSPackage activo actual. | Control de código fuente VSPackage | Obligatorio |
IVsTrackProjectDocuments2 | Esta interfaz se basa en un modelo de suscripción. Cualquier VSPackage puede indicar que desea recibir eventos de documento y ser aconsejado por el shell en eventos que están a punto de ocurrir. Visual Studio implementa y controla, que a su vez pasa eventos que implementan al IVsTrackProjectDocumentsEvents2 VSPackage. |
Código auxiliar de control de código fuente | Obligatorio |
IVsTrackProjectDocuments3 | Esta interfaz proporciona procesamiento por lotes, operaciones de lectura y escritura sincronizadas y un método avanzado OnQueryAddFiles . |
Código auxiliar de control de código fuente | Obligatorio |
IVsTrackProjectDocumentsEvents2 | Explorador de soluciones y los proyectos llaman a esta interfaz cuando se agregan nuevos archivos a los proyectos, o cuando los archivos y carpetas se cambian de nombre o se eliminan de los proyectos. El control de código fuente VSPackage puede desconscarar el archivo del proyecto o cancelar la operación. | Control de código fuente VSPackage | Recomendado |
IVsTrackProjectDocumentsEvents3 | Explorador de soluciones y los proyectos llaman a esta interfaz en respuesta a las llamadas realizadas a los métodos de la interfaz IVstrackProjectDocuments3. El control de código fuente VSPackage puede realizar un seguimiento de las operaciones por lotes, las operaciones de lectura y escritura sincronizadas y trabajar con un método más avanzado OnQueryAddFiles . |
Control de código fuente VSPackage | Recomendado |
IVsSccEnlistmentPathTranslation | Esta interfaz proporciona compatibilidad con la administración de la inscripción para proyectos web. | Control de código fuente VSPackage | Recomendado |
IVsSccManagerTooltip | Esta interfaz se usa para recuperar tool Recomendaciones para los archivos controlados por código fuente en los proyectos. | Control de código fuente VSPackage | Opcionales |
IVsSccOpenFromSourceControl | Esta interfaz proporciona compatibilidad con la extensión de espacio de nombres. | Control de código fuente VSPackage | Opcionales |
IVsSccControlNewSolution | VSPackage usa esta interfaz para integrar una extensión de espacio de nombres en los cuadros de diálogo Nuevo, Abrir o Guardar . Por lo tanto, los proyectos se pueden agregar automáticamente al control de código fuente en la creación o agregarlos al control de código fuente cuando una operación de guardado está en vigor. | Control de código fuente VSPackage | Opcionales |
IVsSccGlyphs | VSPackage usa esta interfaz para definir glifos adicionales como glifos de control de código fuente para los nodos de Explorador de soluciones. | Control de código fuente VSPackage | Opcionales |
IVsSccAddWebProjectFromSourceControl | El cuadro de diálogo Agregar para proyectos web usa esta interfaz. Proporciona métodos para examinar una ubicación de control de código fuente y para abrir un proyecto web agregado previamente en el repositorio de control de código fuente en esa ubicación. | Control de código fuente VSPackage | Recomendado |
IVsAsynchOpenFromScc | Esta interfaz proporciona compatibilidad con la carga asincrónica (en segundo plano) de proyectos desde el control de código fuente. | Control de código fuente VSPackage | Opcionales |
IVsAsynchOpenFromSccProjectEvents | Esta interfaz permite a los proyectos ver el progreso de la carga asincrónica iniciada por IVsAsynchOpenFromScc. | Proyecto | Opcionales |
IVsSccToolsOptions | Esta interfaz permite al IDE consultar el VSPackage de control de código fuente activo. El IDE consulta el valor de la configuración del control de código fuente que tiene significado incluso cuando no hay ningún control de código fuente activo registrado vsPackage. Visual Studio implementa y controla esta interfaz. | Código auxiliar de control de código fuente | Obligatorio |
IVsRegisterScciProvider | Esta interfaz se usa para registrar el VSPackage de control de código fuente. | Código auxiliar de control de código fuente | Obligatorio |
SourceControl | Esta interfaz se usa en la automatización. Por lo tanto, expone solo las funciones que se pueden ejecutar sin mostrar ninguna interfaz de usuario. | Control de código fuente VSPackage | Opcionales |
IVsPersistSolutionProps | Esta interfaz se usa para guardar la configuración del control de código fuente en el archivo de solución (.sln). La configuración incluye la ubicación del control de código fuente y las marcas de estado del control de código fuente. | Control de código fuente VSPackage | Recomendado |
IVsPersistSolutionOpts | Esta interfaz se usa para guardar la configuración del control de código fuente en el archivo de opciones de solución (.suo). Esto puede incluir la configuración de control de código fuente específica del usuario, como la ubicación de inscripción del usuario actual. | Control de código fuente VSPackage | Recomendado |
IVsSolutionEvents3 | Esta interfaz se usa para supervisar eventos con el fin de realizar operaciones como proteger archivos de proyecto antes de cerrar soluciones, o obtener nuevos archivos del control de código fuente al abrir un proyecto. | Control de código fuente VSPackage | Recomendado |