Registro e seleção (VSPackage de controle de origem)
Um controle de fonte VSPackage deve ser registrado para expô-lo para o Visual Studio. Se mais de um controle de origem VSPackage é registrado, o usuário pode selecionar qual VSPackage para carregar em momentos apropriados. Consulte VSPackages para obter mais detalhes sobre os VSPackages e como registrá-los.
Registrando um pacote de controle de origem
O pacote de controle de origem está registrado para que o Visual Studio ambiente pode encontrá-la e a consulta de seus recursos suportados. Isso está de acordo com um esquema de carregamento de atraso no qual uma instância de um pacote é criada somente quando seus recursos e comandos são necessários ou se forem solicitados explicitamente.
Os VSPackages colocar informações em uma chave de registro específicas da versão, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\x. y, onde x é o número de versão principal e y é o número de versão secundária. Esta prática fornece a capacidade de oferecer suporte à instalação do lado a lado de diversas versões do Visual Studio.
O Visual Studio interface do usuário (UI) que dá suporte à seleção entre controle de origem instalado vários plug-ins (via o pacote de adaptador de controle de origem), bem como o controle de origem VSPackages. Pode haver apenas um plug-in de controle de fonte ativa ou VSPackage por vez. Entretanto, como descrito abaixo, o IDE permite alternar entre os plug-ins de controle de origem e VSPackages através de um solução baseada permutação de pacote mecanismo automático. Existem alguns requisitos por parte do controle da fonte de VSPackage para ativar este mecanismo de seleção.
Entradas do registro
Um pacote de controle de origem precisa três GUIDs particulares:
GUID do pacote: Este é o principal GUID para o pacote que contém a implementação do controle de origem (chamada ID_Package nesta seção).
GUID do controle de origem: Isso é um GUID para o controle de origem VSPackage usado para registrar com o fragmento de código de controle de origem Visual Studio e também é usado como um contexto de interface do usuário do comando GUID. O serviço de controle de origem GUID está registrado sob o controle de origem GUID. No exemplo, o GUID do controle de origem é chamado ID_SccProvider.
GUID do serviço de controle de origem: esse é o serviço particular GUID usada pelo Visual Studio (chamado SID_SccPkgService nesta seção). Além disso, o pacote de controle de origem precisa definir outros GUIDs para VSPackages, janelas de ferramentas, e assim por diante.
As seguintes entradas do Registro devem ser feitas por um controle de origem VSPackage:
Nome da chave |
Entradas |
---|---|
|
(padrão) = rg_sz: {ID_SccProvider} |
|
(padrão) = rg_sz: < nome amigável do pacote > Serviço = rg_sz: {SID_SccPkgService} |
|
(padrão) = rg_sz: # < identificação do recurso para o nome localizado > Pacote = rg_sz: {ID_Package} |
(Observe que o nome da chave, SourceCodeControl, já está sendo usado por Visual Studio e não está disponível como uma opção para <PackageName>.) |
(padrão) = rg_sz: {ID_Package} |
A seleção de um pacote de controle de origem
Vários de plug-ins baseadas em API de plug-in de controle de origem e VSPackages podem ser registrados simultaneamente de controle de origem. O processo de seleção de um plug-in ou VSPackage deve garantir que Visual Studio carrega o plug-in ou VSPackage no momento adequado e pode adiar a carregar componentes desnecessários até que eles são necessários. Além disso, Visual Studio deve remover toda a UI 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 Studiocarrega um controle de fonte VSPackage quando é executada a qualquer uma das seguintes operações:
Solução é aberta (quando a solução está sob controle de origem).
Quando uma solução ou projeto sob controle de origem é aberto, o IDE faz com que o controle de origem VSPackage que foi designado para essa solução a ser carregado.
Qualquer um dos comandos de menu de controle de origem VSPackage são executados.
Um controle de fonte que VSPackage deve carregar os componentes necessários somente quando realmente vão ser usado (também conhecida como carregamento atrasado).
Troca automática de VSPackage baseada na solução
Você pode trocar manualmente o controle de origem VSPackages por meio do Visual StudioOpções caixa de diálogo no Controle de origem categoria. Pacote de solução baseada automático troca significa que um pacote de controle de origem tiver sido designado para uma determinada solução é automaticamente definido como ativa quando essa solução é aberta. Cada pacote de controle de origem deve implementar SetActive e SetInactive. Visual Studiolida com a opção entre os dois plug-ins de controle (implementar a API de plug-in de controle de origem) de origem e VSPackages de controle de origem.
O pacote de adaptador de controle de origem é usado para alternar para qualquer baseadas em API de plug-in de controle de fonte de plug-in. O processo de alternar para o pacote de adaptador de controle de origem intermediários e determinar qual plug-in de controle de origem deve ser definido como ativo ou inativo é transparente para o usuário. O pacote do adaptador está sempre ativo, quando qualquer plug-in de controle de origem está ativo. Alternando entre dois valores de plug-ins de controle de origem simplesmente carregar e descarregar a DLL de plug-in. No entanto, alternando para um controle de fonte VSPackage, envolve a interação com o IDE para carregar o VSPackage apropriado.
Um controle de fonte 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, Visual Studio localiza o valor do registro e carrega o controle de origem apropriado VSPackage. Controle de origem de todos os VSPackages deve ter as entradas do Registro descritas acima. Uma solução que está sob controle de origem está marcada como sendo associado a um controle de origem específico VSPackage. Os VSPackages deve implementar do controle de origem a IVsSolutionPersistence para habilitar a automática baseada na solução VSPackage troca.
Interface do usuário para seleção de empacotamento e a troca de Visual Studio
Visual StudioFornece uma interface do usuário para controle de origem VSPackage e plug-in selection in a Opções caixa de diálogo no Controle de origem categoria. Ele permite que o usuário para selecionar o plug-in de controle de fonte ativa ou VSPackage. Uma lista drop-down inclui:
Todos os pacotes de controle de origem instalado
Todos os plug-ins de controle de origem de instalados
Opção por um "none", que desativa o controle de código fonte
A interface de usuário para a opção de controle de fonte ativa está visível. A seleção VSPackage oculta a interface do usuário para o VSPackage anterior e mostra a interface do usuário para uma nova. O VSPackage ativo é selecionado em uma base por usuário. Se um usuário tiver várias cópias de Visual Studio abrir simultaneamente, cada um deles pode potencialmente utilizar diferente VSPackage ativo. Se vários usuários estão conectados mesmo computador, cada usuário pode ter instâncias separadas do Visual Studio abrir, cada um com diferente VSPackage ativo. Quando várias instâncias do Visual Studio são fechadas por um usuário, o controle de origem VSPackage que estava ativa para a última solução aberta se torna o controle de fonte padrão VSPackage, sejam definidos ativos na reinicialização.
Ao contrário das versões anteriores do Visual Studio, uma reinicialização do IDE não é a única maneira de alternar o controle de origem VSPackages. Seleção de VSPackage é automática. A troca de pacotes requer privilégios de usuário do Windows (não administrador ou usuário avançado).
Consulte também
Referência
Outros recursos
Recursos de VSPackage de controle de origem