Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um VSPackage de controle de origem deve ser registrado para expô-lo ao Visual Studio. Se mais de um VSPackage de controle de origem estiver registrado, o usuário poderá selecionar qual VSPackage carregar nos momentos apropriados. Consulte VSPackages para obter mais detalhes sobre VSPackages e como registrá-los.
Registrando um pacote de controle do código-fonte
O pacote de controle do código-fonte é registrado para que o ambiente do Visual Studio possa localizá-lo e consultar seus recursos suportados. Isso está de acordo com um esquema de carregamento tardio no qual uma instância de um pacote é criada apenas quando seus recursos ou comandos são necessários ou solicitados explicitamente.
VSPackages colocam informações numa chave de registo específica da versão, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\X.Y, onde X é o número principal da versão e Y é o número secundário da versão. Essa prática fornece a capacidade de oferecer suporte à instalação lado a lado de várias versões do Visual Studio.
A interface do usuário (UI) do Visual Studio oferece suporte à seleção entre vários plug-ins de controle do código-fonte instalados (por meio do pacote do adaptador de controle do código-fonte), bem como VSPackages de controle do código-fonte. Pode haver apenas um plug-in de controle de origem ativo ou VSPackage de cada vez. No entanto, conforme descrito abaixo, o IDE permite alternar entre plug-ins de controle do código-fonte e VSPackages por meio de um mecanismo automático de troca de pacotes baseado em solução. Existem alguns requisitos por parte do VSPackage de controle do código-fonte para habilitar esse mecanismo de seleção.
Entradas de registo
Um pacote de controle do código-fonte precisa de três GUIDs privados:
GUID do pacote: Este é o GUID principal do pacote que contém a implementação do controle do código-fonte (chamado ID_Package nesta seção).
GUID de controle do código-fonte: Este é um GUID para o VSPackage usado para registrar com o Visual Studio Source Control Stub e também é usado como um GUID de contexto da interface de usuário de comando. O GUID do serviço de controle do código-fonte é registrado sob o GUID do controle do código-fonte. No exemplo, o GUID de controlo de origem é chamado ID_SccProvider.
GUID do serviço de controle do código-fonte: Este é o GUID de serviço privado usado pelo Visual Studio (chamado SID_SccPkgService nesta seção). Além disso, o pacote de controle do código-fonte precisa definir outros GUIDs para VSPackages, janelas de ferramentas e assim por diante.
As seguintes entradas do registo devem ser feitas por um VSPackage de controlo de versões:
| Nome da chave | Entradas |
|---|---|
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ |
(padrão) = rg_sz:{ID_SccProvider} |
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ {ID_SccProvider}\ |
(padrão) = rg_sz:<Nome amigável do pacote> Serviço = rg_sz:{SID_SccPkgService} |
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ {ID_SccProvider}\ Name\ |
(padrão) = rg_sz:#<ID do recurso para nome local> Pacote = rg_sz:{ID_Package} |
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SolutionPersistence\ <PackageName>\(Observe que o nome da chave, SourceCodeControl, já é usado pelo Visual Studio e não está disponível como uma opção para <PackageName>.) |
(padrão) = rg_sz:{ID_Package} |
Selecionando um pacote de controle do código-fonte
Vários plug-ins de controle de origem baseados em API e VSPackages de controle de origem podem ser registados simultaneamente. O processo de seleção de um plug-in de controle de origem ou VSPackage deve garantir que o Visual Studio carregue o plug-in ou VSPackage no momento apropriado e possa adiar o carregamento de componentes desnecessários até que eles sejam necessários. Além disso, Visual Studio deve remover toda a interface do usuário de outros VSPackages inativos, incluindo itens de menu, caixas de diálogo e barras de ferramentas, e exibir a interface do usuário para o VSPackage ativo.
Visual Studio carrega um VSPackage de controlo de origem quando qualquer uma das operações seguintes é realizada.
A solução é aberta (quando a solução está sob controle do código-fonte).
Quando uma solução ou projeto sob controlo de código-fonte é aberto, a IDE provoca que o VSPackage de controlo de código-fonte designado para essa solução seja carregado.
Qualquer um dos comandos de menu do controle de origem VSPackage são executados.
Um VSPackage de controle de origem deve carregar todos os componentes necessários somente quando eles realmente serão usados (também conhecido como carregamento atrasado).
Troca automática de VSPackages com base em soluções
Você pode trocar manualmente VSPackages de controlo de origem através da caixa de diálogo Opções do Visual Studio na categoria Controlo de origem. A troca automática de pacotes baseada em solução significa que um pacote de controle do código-fonte que foi designado para uma determinada solução é automaticamente definido como ativo quando essa solução é aberta. Cada pacote de controle do código-fonte deve implementar SetActive e SetInactive. O Visual Studio lida com a alternância entre plug-ins de controle do código-fonte (implementando a API do plug-in de controle do código-fonte) e VSPackages de controle do código-fonte.
O pacote adaptador de controlo de código fonte é usado para alternar para qualquer plug-in baseado na API de controlo de código-fonte. O processo de alternar para o pacote intermediário do adaptador de controle do código-fonte e determinar qual plug-in de controle do código-fonte deve ser definido como ativo ou inativo é transparente para o usuário. O Adapter Package está sempre ativo quando qualquer plug-in de controlo de código-fonte está ativo. Alternar entre dois plug-ins de controle do código-fonte equivale a simplesmente carregar e descarregar a DLL do plug-in. Alternar para um VSPackage de controle de origem, no entanto, envolve a interação com o IDE para carregar o VSPackage apropriado.
Um controle de origem VSPackage é chamado quando qualquer solução é aberta e a chave do Registro para o VSPackage está no arquivo de solução. Quando a solução é aberta, o Visual Studio localiza o valor do registro e carrega o pacote VSPackage de controlo de origem apropriado. Todos os VSPackages de controle de origem devem ter as entradas do Registro descritas acima. Uma solução que está sob controle do código-fonte é marcada como sendo associada a um VSPackage de controle de origem específico. VSPackages de controlo de origem devem implementar o IVsSolutionPersistence para permitir a troca automática de VSPackages baseada em soluções.
Interface do usuário do Visual Studio para seleção e alternância de pacotes
O Visual Studio fornece uma interface de utilizador do VSPackage para controlo de código-fonte e seleção de plug-in na caixa de diálogo Opções sob a categoria Controlo de código-fonte. Ele permite que o usuário selecione o plug-in de controle de origem ativo ou VSPackage. Uma lista suspensa inclui:
Todos os pacotes de controle de origem instalados
Todos os plug-ins de controle do código-fonte instalados
Uma opção "nenhuma", que desativa o controle do código-fonte
Somente a interface do usuário para a opção de controle do código-fonte ativo é visível. A seleção do VSPackage oculta a UI do VSPackage anterior e mostra a UI do novo. O VSPackage ativo é selecionado por usuário. Se um usuário tiver várias cópias do Visual Studio abertas simultaneamente, cada uma pode potencialmente usar um VSPackage ativo diferente. Se vários usuários estiverem conectados ao mesmo computador, cada usuário pode ter instâncias separadas do Visual Studio abertas, cada uma com um VSPackage ativo diferente. Quando várias instâncias do Visual Studio são fechadas por um usuário, o controle de origem VSPackage que estava ativo para a última solução aberta torna-se o controle de origem padrão VSPackage, a ser definido ativo na reinicialização.
Ao contrário das versões anteriores do Visual Studio, um reinício do IDE já não é a única forma de mudar VSPackages de controlo de origem. A seleção do VSPackage é automática. A comutação de pacotes requer privilégios de Utilizador do Windows (não de Administrador ou Utilizador Avançado).