Visão geral da integração do controle do código-fonte
Esta seção compara as duas maneiras de integrar ao controle de origem do Visual Studio; um plug-in de controle do código-fonte e um VSPackage que fornece uma solução de controle do código-fonte e destaca os novos recursos de controle do código-fonte. O Visual Studio permite a alternância manual entre VSPackages de controle de origem e plug-ins de controle de origem, bem como comutação automática baseada em solução.
Integração de controle do código-fonte
Visual Studio oferece suporte a dois tipos de opções de integração de controle de origem. Em todas as versões do Visual Studio, você ainda pode integrar um plug-in com base na API de plug-in de controle de código-fonte (anteriormente também conhecida como API MSSCCI), que fornece funcionalidade básica de controle de origem ao usar a interface do usuário (UI) de controle de origem do Visual Studio. Um VSPackage de controle de origem, por outro lado, fornece um novo caminho SDK do Visual Studio de integração profunda adequado para integração de controle de origem que exige um alto nível de sofisticação e autonomia em seu modelo de controle de origem.
Plug-in de controle do código-fonte
Todas as versões do Visual Studio oferecem suporte à especificação de API de plug-in de controle de código-fonte versão 1.2 como um caminho de integração. Um implementador de plug-in de controle de origem grava uma DLL que implementa as funções de API de plug-in de controle de código-fonte para integração e registro de controle de código-fonte, conforme descrito em Criando um plug-in de controle de código-fonte. Nessa abordagem, o ambiente de desenvolvimento integrado (IDE) usa a interface do usuário do Visual Studio para caixas de diálogo, como check-in, check-out, páginas de propriedades de ferramentas/opções, barras de ferramentas e glifos de controle de origem. A adesão estrita à API de plug-in de controle de origem garante uma fácil integração ao Visual Studio e uma experiência livre de problemas para o usuário. Isso significa que o plug-in de controle do código-fonte deve implementar a maioria das funções e retornos de chamada detalhados na API.
Para implementar um plug-in de controle de origem usando a API de plug-in de controle de código-fonte, execute estas etapas:
Crie uma DLL que implemente as funções especificadas em Plug-ins de controle do código-fonte.
Registre a DLL fazendo as entradas de registro apropriadas (descritas em Como: Instalar um plug-in de controle de origem).
Crie uma interface do usuário auxiliar e exiba quando solicitado pelo pacote do adaptador de controle do código-fonte (o componente do Visual Studio que manipula a funcionalidade de controle do código-fonte por meio de plug-ins de controle do código-fonte)
Em resposta a um comando de controle de origem, o IDE do Visual Studio apresenta uma interface do usuário padrão para as operações básicas e, em seguida, passa as informações para o plug-in de controle de origem por meio das funções definidas na API de plug-in de controle de código-fonte. Para opções avançadas, o plug-in de controle do código-fonte pode ser chamado para apresentar sua própria interface do usuário, por exemplo, a navegação por um projeto controlado pelo código-fonte. Isso significa que o usuário pode ser apresentado com dois estilos possivelmente diferentes de interface do usuário ao lidar com o controle de origem: a interface do usuário que o Visual Studio apresenta e a interface do usuário que o plug-in de controle de origem apresenta. Isso é mais perceptível com operações avançadas de controle do código-fonte.
Desvantagens da implementação de um plug-in de controle de origem
Para recursos avançados, o usuário pode ver dois estilos diferentes de interfaces, levando a uma possível confusão.
O plug-in de controle do código-fonte está confinado ao modelo de controle do código-fonte implícito pela API do plug-in de controle do código-fonte.
A API de plug-in de controle de código-fonte pode ser muito restritiva para alguns cenários de controle de origem.
Vantagens de implementar um plug-in de controle de origem
O Visual Studio fornece toda a interface do usuário para todas as operações básicas de controle do código-fonte para que o plug-in de controle do código-fonte não precise implementar a interface do usuário potencialmente complexa.
Devido à API estrita, o plug-in de controle do código-fonte pode interagir prontamente com programas de controle do código-fonte externos para fornecer funcionalidade mais extensa; O Visual Studio não se importa muito com a forma como a funcionalidade de controle do código-fonte é realizada, apenas que ela é realizada de acordo com a API do plug-in de controle do código-fonte.
É mais fácil implementar um plug-in de controle de origem do que um VSPackage de controle de origem.
Controle do código-fonte VSPackage
O SDK do Visual Studio permite uma integração profunda no Visual Studio com controle total da funcionalidade de controle do código-fonte e substituição completa da interface do usuário de controle do código-fonte fornecida pelo Visual Studio. Um VSPackage de controle de origem é registrado com o Visual Studio e fornece funcionalidade de controle de origem. Embora vários VSPackages de controle de origem possam ser registrados com o Visual Studio, apenas um deles pode estar ativo a qualquer momento. Um controle de origem VSPackage tem controle total sobre a funcionalidade de controle de origem e aparência no Visual Studio enquanto ele está ativo. Todos os outros VSPackages de controle de origem que podem ser registrados no sistema estão inativos e não exibirão nenhuma interface do usuário.
A implementação de um controle de origem VSPackage requer uma estratégia de "tudo ou nada". O criador de um VSPackage de controle de origem deve investir uma quantidade significativa de esforço na implementação de várias interfaces de controle de origem e novos elementos de interface do usuário (caixas de diálogo, menus e barras de ferramentas) para cobrir toda a funcionalidade de controle de código-fonte. Consulte Criando um VSPackage de controle de origem para obter mais detalhes.
Desvantagens de implementar um VSPackage de controle de origem
O VSPackage deve implementar um número de interfaces complexas para integrar com êxito com o Visual Studio.
O VSPackage deve fornecer toda a interface do usuário necessária para o controle do código-fonte; O Visual Studio não fornecerá assistência nessa área.
Um VSPackage de controle de origem está intimamente ligado ao Visual Studio e não pode operar com programas autônomos, portanto, a funcionalidade não pode ser compartilhada tão facilmente com uma versão externa do programa de controle de origem.
Vantagens de implementar um VSPackage de controle de origem
Como o VSPackage tem controle total sobre a interface do usuário e a funcionalidade do controle do código-fonte, o usuário é apresentado a uma interface perfeita para o controle do código-fonte.
O VSPackage não está confinado a um modelo de controle de origem específico.