Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Parte de la integración profunda disponible para el control de código fuente VSPackages es la capacidad de mostrar sus propios glifos para indicar el estado de los elementos en el control de código fuente.
Niveles de control de glifo
Un glifo de estado es un icono que indica el estado actual de un elemento cuando se muestra, por ejemplo, en el Explorador de soluciones o en la vista de clases. Un control de código fuente VSPackage puede ejercer dos niveles de control de glifo. Puede limitar la elección de glifos a un conjunto predefinido de glifos proporcionados por el IDE de Visual Studio, o bien puede definir un conjunto personalizado de glifos que se van a mostrar.
Conjunto predeterminado de glifos
Para determinar los glifos de estado asociados a un elemento en el Explorador de soluciones, un proyecto solicita el glifo de estado desde el control de código fuente mediante .GetSccGlyph Un vsPackage de control de código fuente puede decidir mantener la elección de glifos limitados a glifos predefinidos proporcionados por el IDE. En este caso, VSPackage pasa una matriz de valores que representan las enumeraciones de glifo definidas en vsshell.idl. Para obtener más información, consulte VsStateIcon. Se trata de un conjunto predefinido de glifos establecidos por el IDE, como un candado para el glifo protegido y una marca de verificación para el glifo desprotegido.
Conjunto personalizado de glifos
Un VSPackage de control de código fuente puede usar sus propios glifos para lograr un aspecto y sensación únicos cuando se instala. Cuando un nuevo control de código fuente VSPackage está activo, debería poder empezar a usar sus propios glifos incluso si un control de código fuente anterior VSPackage todavía está cargado pero inactivo. En este modo, el control de código fuente VSPackage todavía puede usar los iconos existentes para mantener una apariencia coherente con Visual Studio si lo elige.
El SVsSccManager servicio admite una interfaz, , IVsSccGlyphsque VSPackage puede implementar opcionalmente y que el IDE solicitará. Cuando el IDE realiza una solicitud, Visual Studio intentará, a su vez, obtener esta interfaz del VSPackage actualmente registrado para el control de código fuente. Si la interfaz existe en el VSPackage registrado, la solicitud del IDE para glifos personalizados se realiza correctamente; De lo contrario, el IDE de Visual Studio usa su conjunto predeterminado de glifos.
Visual Studio usa el GetCustomGlyphList método para obtener una lista de imágenes que muestran varios estados de control de código fuente. El control de código fuente VSPackage vuelve al IDE un identificador de la lista de imágenes para sus glifos personalizados. El IDE realiza una copia de la lista de imágenes en este momento y lo usa más adelante para elegir los glifos que se van a mostrar. Si no se admite la nueva interfaz o el IVsSccGlyphs::GetCustomGlyphList método devuelve E_NOTIMPL, el IDE obtiene sus glifos de la lista predeterminada de glifos proporcionados por Visual Studio.