Los objetos de contexto de selección
El entorno de desarrollo integrado de (IDE) Visual Studio utiliza un objeto global de contexto de selección para determinar qué se debe mostrar en el IDE. Cada ventana en el IDE puede tener su propio objeto de contexto de selección insertado el contexto global de la selección. El IDE actualiza el contexto global de selección con valores de una ventana a esa ventana tiene el foco. Para obtener más información, vea Información al usuario.
Cada marco de ventana o sitio en el IDE tiene un servicio denominado STrackSelection. El objeto creado por el Paquete que se encuentra en el marco de ventana debe llamar al método de QueryService para obtener un puntero a la interfaz de ITrackSelection .
Las ventanas de capítulos pueden mantener partes de la información de contexto de selección de propagar el contexto global de selección cuando se inician. Esta capacidad es útil para las ventanas de herramientas que pueden tener que empezar con una selección vacía.
Modificando el contexto global de selección desencadena eventos que VSPackages puede controlar. VSPackages puede realizar las siguientes tareas implementando IVsTrackSelectionEx y las interfaces de IVsMonitorSelection :
Actualice actualmente en el archivo activo en una jerarquía.
Cambios de Monitor ciertos tipos de elementos. Por ejemplo, si el Paquete utiliza una ventana especial de Propiedades , puede controlar cambios en la ventana activa de Propiedades y reiniciar thes cuando sea necesario.
La secuencia siguiente muestra el curso típico de traza de la selección.
El IDE recupera el contexto de selección de ventana recién abierta y lo pondrá en el contexto global de la selección. Si el contexto de selección utiliza HIERARCHY_DONTPROPAGATE o SELCONTAINER_DONTPROPAGATE, dicha información no se propaga al contexto global. Para obtener más información, vea Información al usuario.
Eventos de notificación se propagan a cualquier Paquete que los solicitara.
El paquete VSPackage actúa en los eventos que recibe realizando actividades como actualizar una jerarquía, reactivando una herramienta, u otras tareas similares.