Serviços e interfaces relacionados (VSPackage de controle do código-fonte)
Esta seção lista todas as interfaces relacionadas ao VSPackage de controle de origem no SDK do Visual Studio. O controle de código-fonte VSPackage implementa algumas dessas interfaces e usa outras para realizar tarefas de controle do código-fonte.
Interfaces implementadas por e para VSPackages de controle do código-fonte
As interfaces a seguir são descritas no SDK do Visual Studio e o controle de origem VSPackage implementa um subconjunto delas dependendo de seu conjunto de recursos desejado. Algumas interfaces são marcadas como necessárias e devem ser implementadas por cada VSPackage de controle de origem.
Para as interfaces que um pacote não implementa, o Visual Studio fornece uma implementação padrão. Observe que a implementação padrão é projetada para o caso em que nenhum VSPackage é registrado e nenhum projeto é controlado. Um controle de código-fonte corretamente escrito VSPackage implementa todas as interfaces necessárias em vez de deixá-lo para a implementação padrão dessas interfaces.
Um VSPackage de controle de origem deve implementar um serviço privado que encapsula algumas ou todas as interfaces a seguir.
As interfaces são:
Necessário: A entidade apropriada (controle do código-fonte VSPackage, Source Control Stub, projeto) deve implementar a interface.
Recomendado: A entidade deve implementar esta interface; caso contrário, a funcionalidade de controle do código-fonte pode ser limitada.
Opcional: a entidade pode implementar essa interface para fornecer um conjunto de recursos mais avançado.
Interface | Finalidade | Implementado por | Implemento? |
---|---|---|---|
IVsQueryEditQuerySave2 | Os editores chamam essa interface antes de modificar ou salvar um arquivo. O controle de origem VSPackage pode fazer check-out do arquivo ou negar a operação se o check-out falhar. | Controle do código-fonte VSPackage | Recomendado |
IVsSccManager2 | Essa interface fornece funcionalidade básica de controle do código-fonte para projetos, como registrar e cancelar o registro de projetos com controle do código-fonte e fornecer suporte para glifos básicos de controle do código-fonte. | Controle do código-fonte VSPackage | Obrigatório |
IVsSccProject2 | Essa interface é obtida a partir do uso da IVsHierarchy QueryInterface função, ou simplesmente convertendo o objeto implementando IVsHierarchy para IVsSccProject2 . Ele é usado para obter os arquivos sob controle do código-fonte em um projeto ou para informar o projeto do status ou local de controle do código-fonte atual. |
Projeto | Obrigatório |
IVsSccProvider | O módulo de integração usa essa interface para definir o VSPackage ativo atual. | Controle do código-fonte VSPackage | Obrigatório |
IVsTrackProjectDocuments2 | Essa interface é baseada em um modelo de assinatura. Qualquer VSPackage pode sinalizar que deseja receber eventos de documento e ser avisado pelo shell sobre eventos que estão prestes a acontecer. Ele é implementado e manipulado pelo Visual Studio, que por sua vez passa eventos implementando o para o IVsTrackProjectDocumentsEvents2 VSPackage. |
Stub de controle do código-fonte | Obrigatório |
IVsTrackProjectDocuments3 | Essa interface fornece processamento em lote, operações sincronizadas de leitura/gravação e um método avançado OnQueryAddFiles . |
Stub de controle do código-fonte | Obrigatório |
IVsTrackProjectDocumentsEvents2 | O Gerenciador de Soluções e os projetos chamam essa interface quando novos arquivos são adicionados aos projetos ou quando arquivos e pastas são renomeados ou excluídos dos projetos. O controle de origem VSPackage pode fazer check-out do arquivo de projeto ou cancelar a operação. | Controle do código-fonte VSPackage | Recomendado |
IVsTrackProjectDocumentsEvents3 | O Gerenciador de Soluções e os projetos chamam essa interface em resposta às chamadas feitas para os métodos da interface IVstrackProjectDocuments3. O controle de origem VSPackage pode rastrear operações em lote, operações de leitura/gravação sincronizadas e trabalhar com um método mais avançado OnQueryAddFiles . |
Controle do código-fonte VSPackage | Recomendado |
IVsSccEnlistmentPathTranslation | Essa interface fornece suporte de gerenciamento de alistamento para projetos da Web. | Controle do código-fonte VSPackage | Recomendado |
IVsSccManagerTooltip | Essa interface é usada para recuperar dicas de ferramentas para os arquivos controlados pelo código-fonte nos projetos. | Controle do código-fonte VSPackage | Opcional |
IVsSccOpenFromSourceControl | Essa interface fornece suporte à extensão de namespace. | Controle do código-fonte VSPackage | Opcional |
IVsSccControlNewSolution | O VSPackage usa essa interface para integrar uma extensão de namespace nas caixas de diálogo Novo, Abrir ou Salvar . Consequentemente, os projetos podem ser adicionados automaticamente ao controle do código-fonte na criação ou adicionados ao controle do código-fonte quando uma operação de salvamento estiver em vigor. | Controle do código-fonte VSPackage | Opcional |
IVsSccGlyphs | O VSPackage usa essa interface para definir glifos adicionais como glifos de controle de origem para nós no Gerenciador de Soluções. | Controle do código-fonte VSPackage | Opcional |
IVsSccAddWebProjectFromSourceControl | A caixa de diálogo Adicionar para projetos da Web usa essa interface. Ele fornece métodos para procurar um local de controle do código-fonte e para abrir um projeto da Web adicionado anteriormente no repositório de controle do código-fonte nesse local. | Controle do código-fonte VSPackage | Recomendado |
IVsAsynchOpenFromScc | Essa interface fornece suporte para carregamento assíncrono (em segundo plano) de projetos do controle do código-fonte. | Controle do código-fonte VSPackage | Opcional |
IVsAsynchOpenFromSccProjectEvents | Essa interface permite que os projetos observem o progresso do carregamento assíncrono iniciado pelo IVsAsynchOpenFromScc. | Projeto | Opcional |
IVsSccToolsOptions | Essa interface permite que o IDE consulte o controle de origem ativo VSPackage. O IDE consulta o valor das configurações de controle de origem que têm significado mesmo quando não há nenhum VSPackage de controle de origem ativo registrado. Essa interface é implementada e manipulada pelo Visual Studio. | Stub de controle do código-fonte | Obrigatório |
IVsRegisterScciProvider | Essa interface é usada no registro do controle de origem VSPackage. | Stub de controle do código-fonte | Obrigatório |
SourceControl | Essa interface é usada na automação. Como tal, ele expõe apenas funções que podem ser executadas sem exibir qualquer interface do usuário. | Controle do código-fonte VSPackage | Opcional |
IVsPersistSolutionProps | Essa interface é usada para salvar as configurações de controle do código-fonte no arquivo de solução (.sln). As configurações incluem o local do controle do código-fonte e os sinalizadores de status do controle do código-fonte. | Controle do código-fonte VSPackage | Recomendado |
IVsPersistSolutionOpts | Essa interface é usada para salvar as configurações de controle do código-fonte no arquivo de opções de solução (.suo). Isso pode incluir configurações de controle de origem específicas do usuário, como o local de alistamento do usuário atual. | Controle do código-fonte VSPackage | Recomendado |
IVsSolutionEvents3 | Essa interface é usada para monitorar eventos a fim de executar operações como fazer check-in de arquivos de projeto antes de fechar soluções ou obter novos arquivos do controle do código-fonte ao abrir um projeto. | Controle do código-fonte VSPackage | Recomendado |