Controle de glifo (VSPackage de controle de origem)
Parte da profunda integração disponível ao VSPackages de controle de origem é a capacidade de exibir seus próprios glifos para indicar o status dos itens sob controle de origem.
Níveis de controle de glifos
Um glifo de estado é um ícone que indica o status atual de um item quando exibidas, por exemplo, em Solution Explorer ou em Class View. Um controle de fonte VSPackage pode exercer dois níveis de controle de glifo. Ele pode limitar a escolha de glifos para um conjunto predefinido de glifos fornecida pelo Visual Studio IDE ou ele pode definir um conjunto personalizado de glifos a ser exibido.
Conjunto de glifos padrão
Para determinar os glifos de estado que estão associados um item na Solution Explorer, um projeto solicita o glifo do estado do controle de origem usando o GetSccGlyph. Um controle de fonte VSPackage pode decidir manter a escolha de glifos limitado a glifos predefinidos fornecidos pelo IDE. Nesse caso, o VSPackage volta passa uma matriz de valores que representam as enumerações de glifos definidos no vsshell.idl. Para obter mais informações, consulte VsStateIcon .Este é um conjunto predefinido de glifos definida pelo IDE, como, por exemplo, um cadeado para o glifo "Check-In" e uma marca de seleção, como o glifo "Check-Out".
Conjunto personalizado de glifos
Um controle de fonte VSPackage pode usar suas própria glifos para uma única "aparência" quando ele é instalado. Quando um novo controle de origem VSPackage estiver ativo, ele deve ser capaz de começar a usar seus próprio glifos mesmo se VSPackage de controle de uma origem anterior ainda está carregado, mas inativo. Nesse modo, o controle de origem VSPackage ainda pode usar os ícones existentes para manter uma aparência consistente com Visual Studio se ele escolher.
O SVsSccManager serviço oferece suporte a uma interface, IVsSccGlyphs, que pode implementar o VSPackage e qual será solicitada pelo IDE. Quando o IDE faz uma solicitação, Visual Studio por sua vez tentará obter essa interface de VSPackage de controle de origem registrados no momento. Se a interface existir o VSPackage registrado, a solicitação do IDE para glifos personalizados êxito; Caso contrário, o Visual Studio IDE usa seu conjunto padrão de glifos.
O GetCustomGlyphList método é usado por Visual Studio obter uma lista de imagens, mostrando o controle de origem de vários estados. O controle de origem VSPackage retorna ao IDE uma alça para a lista de imagens para seus glifos personalizados. O IDE faz uma cópia da lista de imagem neste momento e usa-lo mais tarde para escolher os glifos para exibir. Se não há suporte para a nova interface ou o IVsSccGlyphs::GetCustomGlyphList método retorna E_NOTIMPL, e em seguida, o IDE obtém seus glifos da lista padrão de glifos fornecido pelo Visual Studio.