Controllo glifo (VSPackage del controllo del codice sorgente)
Parte dell'integrazione completa disponibile per i pacchetti VSPackage per il controllo del codice sorgente è la possibilità di visualizzare i propri glifi per indicare lo stato degli elementi nel controllo del codice sorgente.
Livelli di controllo glifo
Un glifo di stato è un'icona che indica lo stato corrente di un elemento quando viene visualizzato, ad esempio in Esplora soluzioni o in Visualizzazione classi. Un pacchetto VSPackage per il controllo del codice sorgente può esercitare due livelli di controllo glifo. Può limitare la scelta dei glifi a un set predefinito di glifi forniti dall'IDE di Visual Studio oppure può definire un set personalizzato di glifi da visualizzare.
Set predefinito di glifi
Per determinare i glifi di stato associati a un elemento in Esplora soluzioni, un progetto richiede il glifo di stato dal controllo del codice sorgente usando .GetSccGlyph Un pacchetto VSPackage per il controllo del codice sorgente può decidere di mantenere la scelta dei glifi limitati ai glifi predefiniti forniti dall'IDE. In questo caso, vsPackage restituisce una matrice di valori che rappresentano le enumerazioni del glifo definite in vsshell.idl. Per ulteriori informazioni, vedere VsStateIcon. Si tratta di un set predefinito di glifi impostati dall'IDE, ad esempio un lucchetto per il glifo archiviato, e un segno di spunta per il glifo estratto.
Set personalizzato di glifi
Un pacchetto VSPackage per il controllo del codice sorgente può usare i propri glifi per un aspetto univoco quando viene installato. Quando è attivo un nuovo pacchetto VSPackage del controllo del codice sorgente, dovrebbe essere in grado di iniziare a usare i propri glifi anche se un vsPackage del controllo del codice sorgente precedente è ancora caricato ma inattivo. In questa modalità, il pacchetto VSPackage del controllo del codice sorgente può comunque usare le icone esistenti per mantenere un aspetto coerente con Visual Studio, se scelto.
Il SVsSccManager servizio supporta un'interfaccia , IVsSccGlyphs, che il VSPackage può implementare facoltativamente e che verrà richiesto dall'IDE. Quando l'IDE effettua una richiesta, Visual Studio tenterà a sua volta di ottenere questa interfaccia dal pacchetto VSPackage del controllo del codice sorgente attualmente registrato. Se l'interfaccia esiste nel VSPackage registrato, la richiesta dell'IDE per i glifi personalizzati ha esito positivo; in caso contrario, l'IDE di Visual Studio usa il set predefinito di glifi.
Il GetCustomGlyphList metodo viene usato da Visual Studio per ottenere un elenco di immagini che mostrano vari stati di controllo del codice sorgente. Il pacchetto VSPackage del controllo del codice sorgente restituisce all'IDE un handle per l'elenco di immagini per i relativi glifi personalizzati. L'IDE crea una copia dell'elenco di immagini a questo punto e la usa in un secondo momento per scegliere i glifi da visualizzare. Se la nuova interfaccia non è supportata o il IVsSccGlyphs::GetCustomGlyphList
metodo restituisce E_NOTIMPL
, l'IDE ottiene i suoi glifi dall'elenco predefinito di glifi forniti da Visual Studio.