Compartilhar via


Gestão de glifos (controle de código-fonte VSPackage)

Parte da integração profunda disponível para VSPackages de controle do código-fonte é a capacidade de exibir seus próprios glifos para indicar o status dos itens sob controle do código-fonte.

Níveis de controle de glifo

Um glifo de estado é um ícone que indica o status atual de um item quando exibido, por exemplo, no Gerenciador de Soluções ou no Modo de Exibição de Classe. Um VSPackage de controle do código-fonte pode exercer dois níveis de controle dos glifos. Ele pode limitar a escolha de glifos a um conjunto predefinido de glifos fornecido pelo IDE do Visual Studio ou pode definir um conjunto personalizado de glifos a serem exibidos.

Conjunto padrão de glifos

Para determinar os glifos de estado associados a um item no Gerenciador de Soluções, um projeto solicita o glifo de estado do controle do código-fonte usando o GetSccGlyph. Um VSPackage de controle de código-fonte pode decidir manter a escolha dos glifos limitada a glifos predefinidos fornecidos pelo IDE (Ambiente de Desenvolvimento Integrado). Nesse caso, o VSPackage passa uma matriz de valores que representam as enumerações de glifo definidas em vsshell.idl. Para obter mais informações, consulte VsStateIcon. Este é um conjunto predefinido de glifos definido pelo IDE, como um cadeado para o glifo de check-in e uma marca de seleção para o glifo de check-out.

Conjunto personalizado de glifos

Um VSPackage de controle do código-fonte pode usar seus próprios glifos para uma aparência exclusiva quando ele é instalado. Quando um novo VSPackage de controle do código-fonte estiver ativo, ele deverá ser capaz de começar a usar seus próprios glifos mesmo se um VSPackage de controle do código-fonte anterior ainda estiver carregado, mas inativo. Nesse modo, o VSPackage de controle do código-fonte ainda pode usar os ícones existentes para manter uma aparência consistente com o Visual Studio se ele escolher.

O SVsSccManager serviço dá suporte a uma interface, IVsSccGlyphsque o VSPackage pode implementar opcionalmente e que será solicitada pelo IDE. Quando o IDE fizer uma solicitação, o Visual Studio tentará obter essa interface do VSPackage de controle do código-fonte registrado no momento. Se a interface existir no VSPackage registrado, a solicitação do IDE para glifos personalizados terá êxito; caso contrário, o IDE do Visual Studio usa seu conjunto padrão de glifos.

O GetCustomGlyphList método é usado pelo Visual Studio para obter uma lista de imagens mostrando vários estados de controle do código-fonte. O VSPackage de controle do código-fonte retorna ao IDE um identificador para a lista de imagens para seus glifos personalizados. O IDE faz uma cópia da lista de imagens neste momento e a usa mais tarde para escolher os glifos a serem exibidos. Se a nova interface não tiver suporte ou o IVsSccGlyphs::GetCustomGlyphList método retornar E_NOTIMPL, o IDE obterá seus glifos da lista padrão de glifos fornecidos pelo Visual Studio.