Partilhar via


Como: instalar um plug-in de controle de origem

A criação de um controle de fonte plug-in envolve três etapas:

  1. Crie uma DLL com as funções definidas na seção de referência de API de plug-in de controle de origem desta documentação.

  2. Implemente as funções definidas pelo API de plug-in de controle de origem. Quando Visual Studio chamadas para ele, disponibilizar interfaces e caixas de diálogo do plug-in.

  3. Registre a DLL, tornando as entradas de registro apropriadas.

Integração com Visual Studio

Visual Studiooferece suporte a plug-ins de controle de origem que estão de acordo com a API de plug-in de controle de origem.

Registrando o plug-in de controle de origem

Antes de um ambiente de desenvolvimento integrado (IDE) em execução pode chamar o sistema de controle de origem, ele deve saber a origem de controlar a DLL de plug-in que exporta a API.

Para registrar a fonte de controle de DLL de plug-in

  1. Adicione duas entradas sob a chave HKEY_LOCAL_MACHINE na subchave SOFTWARE que especifica seu subchave de nome de empresa seguido por seu subchave de nome do produto. O padrão é HKEY_LOCAL_MACHINE\SOFTWARE\[company name]\[nome do produto]\[entry] = valor. As duas entradas são sempre chamadas de SCCServerName e SCCServerPath. Cada um é uma seqüência regular.

    Por exemplo, se o nome da sua empresa é a Microsoft e o seu produto de controle de origem se chama SourceSafe, então esse caminho de registro seria HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe. Nessa subchave, a primeira entrada, SCCServerName, é uma seqüência de caracteres legível pelo usuário, nomeando seu produto. A segunda entrada, SCCServerPath, é o caminho completo para a fonte de controlar a DLL de plug-in que o IDE deve se conectar. A seguir fornece exemplos de entradas de registro:

    Exemplo de entrada do registro

    Valor de exemplo

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\SCCServerName

    Microsoft Visual SourceSafe

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\SCCServerPath

    c:\vss\win32\ssscc.dll

    Dica

    O SCCServerPath é o caminho completo para o plug-in do SourceSafe.O plug-in de controle de origem usará os nomes de produtos e empresas diferentes, mas os mesmos caminhos de entrada do registro.

  2. As seguintes entradas do Registro opcionais podem ser usadas para modificar o comportamento do seu plug-in de controle de origem. Essas entradas vá na mesma subchave como SccServerName e SccServerPath.

    • A entrada de HideInVisualStudioregistry pode ser usada se você não quiser que sua origem-plug-in do controle apareça na lista de plug-in Selection Visual Studio. Essa entrada também afetará a alternância automática de plug-in de controle de origem. Um dos usos possíveis para essa entrada é se você fornecer um pacote de controle de origem que substitui o plug-in de controle de origem, mas você deseja tornar mais fácil para o usuário migrar de usando o plug-in para o pacote de controle de origem do controle de origem. Quando o pacote de controle de origem é instalado, ele define essa entrada do registro, que oculta o plug-in.

      HideInVisualStudio é um valor DWORD e é definido como 1 para ocultar o plug-in ou 0 para mostrar o plug-in. Se a entrada do registro não for exibido, o comportamento padrão é mostrar o plug-in.

    • A entrada de registro DisableSccManager pode ser usada para desativar ou ocultar o lançamento < servidor de controle de origem > opção de menu que normalmente aparece sob o arquivo -> De controle de origem submenu. Selecionando esse menu opção chamadas a Função SccRunScc função. O plug-in de controle de origem pode não oferecer suporte a um programa externo e, portanto, você pode desativar ou até mesmo ocultar o Iniciar opção de menu.

      DisableSccManager é um valor DWORD é definido como 0 para habilitar o lançamento < servidor de controle de origem > opção de menu, definido como 1 para desativar a opção de menu e definido como 2 para ocultar a opção de menu. Se essa entrada do registro não for exibido, o comportamento padrão é mostrar a opção de menu.

    Exemplo de entrada do registro

    Valor de exemplo

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\HideInVisualStudio

    1

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\DisableSccManager

    1

  3. Adicione a subchave SourceCodeControlProvider, sob a chave HKEY_LOCAL_MACHINE na subchave de SOFTWARE.

    Sob essa subchave, a entrada do registro ProviderRegKey está definida como uma seqüência que representa a subchave que você colocou no registro na etapa 1. O padrão é HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey = SOFTWARE\[company name]\[nome do produto].

    A seguir está o conteúdo de exemplo para essa subchave.

    Entrada do registro

    Valor de exemplo

    HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey

    SOFTWARE\Microsoft\SourceSafe

    Dica

    O plug-in de controle de origem usará a mesma subchave e nomes de entrada, mas o valor será diferente.

  4. Crie uma subchave denominada InstalledSCCProviders sob a subchave SourceCodeControlProvider e, em seguida, coloque uma entrada sob essa subchave.

    O nome dessa entrada é o nome legível pelo usuário do provedor (o mesmo que o valor especificado para a entrada de SCCServerName) e o valor é, novamente, a subchave criada na etapa 1. O padrão é HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders\[nome de exibição] = SOFTWARE\[company name]\[nome do produto].

    Por exemplo:

    Exemplo de entrada do registro

    Valor de exemplo

    HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders\Microsoft Visual SourceSafe

    SOFTWARE\Microsoft\SourceSafe

    Dica

    Pode haver vários controle plug-ins origem registrados dessa maneira.Isso é como Visual Studio localiza todos os plug-ins baseadas em API de plug-in de controle de origem de instalados.

Como um IDE localiza a DLL

O Visual Studio IDE tem duas maneiras de localizar a fonte de controlam a DLL de plug-in:

  • Encontrar o controle de fonte padrão plug-in e conectá-lo silenciosamente.

  • Localize origem registrada todos os plug-ins de controle, do qual o usuário deve escolher uma.

Para localizar a DLL da primeira forma, o IDE procura sob a subchave HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider para a entrada ProviderRegKey. O valor dessa entrada aponta para outra subchave. Em seguida, o IDE procura uma entrada chamada SccServerPath nessa segunda subchave em HKEY_LOCAL_MACHINE. O valor dessa entrada aponta o IDE para a DLL.

Dica

O IDE não carregar DLLs de caminhos relativos (por exemplo.\NewProvider.dll).Um caminho completo para a DLL deve ser especificado (por exemplo, c:\Providers\NewProvider.DLL).Isso reforça a segurança do IDE, evitando o carregamento de DLLs de plug-in não autorizados ou representadas.

Para localizar a DLL da segunda forma, o IDE procura em todas as entradas na subchave HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider\InstalledSCCProviders*.* Cada entrada tem um nome e um valor. O IDE exibe uma lista desses nomes para o usuário*.* Quando o usuário escolhe um nome, o IDE localiza o valor para o nome selecionado que aponta para uma subchave. O IDE procura uma entrada chamada SccServerPath nessa subchave em HKEY_LOCAL_MACHINE. O valor desta entrada aponta o IDE para a DLL correta.

Um plug-in de controle de origem precisa oferecer suporte a ambas as maneiras de localizar a DLL e, conseqüentemente, definir ProviderRegKey, substituindo qualquer definição anterior. Mais importante, ele deve se adicionar à lista de InstalledSccProviders para que o usuário possa ter uma escolha de qual plug-in de controle de origem para usar.

Dica

Como a chave HKEY_LOCAL_MACHINE é usada, controle de origem de apenas um plug-in pode ser registrado como o controle de fonte padrão plug-in em uma determinada máquina (no entanto, Visual Studio permite que os usuários determinem qual plug-in de controle de origem que desejam realmente usar para uma determinada solução).Durante o processo de instalação, verifique se um plug-in de controle de origem já está definido; Neste caso, peça que ele se deve ou não definir o novo controle de origem plug-in que está sendo instalado como padrão.Durante a desinstalação, não remova outras subchaves do registro que são comuns para controle de origem todos os plug-ins no HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider; Remova somente a subchave de SCC específico.

Como o IDE detecta a versão 1.2/1.3 suporte

Como oferece Visual Studio detectar se uma funcionalidade de versão 1.2 e 1.3 do plug-in oferece suporte à API de plug-in de controle de origem? Para declarar um recurso avançado, o plug-in de controle de origem deve implementar a função correspondente.

Primeiro, Visual Studio verifica o valor retornado pela chamada a Função SccGetVersion. Ele deve ser maior ou igual a 1.

Em seguida, Visual Studio determina se o novo recurso específico é suportado, examinando o lpSccCaps argumento na Função SccInitialize.

Se as duas condições forem atendidas, as novas funções de suporte nas versões 1.2 e 1.3 podem ser chamadas.

Consulte também

Outros recursos

Introdução ao Plug-ins de controle de origem