Objetos de contexto de selecciónSelection Context Objects

El Visual StudioVisual Studio el entorno de desarrollo integrado (IDE) utiliza un objeto de contexto de selección global para determinar lo que debe mostrarse en el IDE.The Visual StudioVisual Studio integrated development environment (IDE) uses a global selection context object to determine what should be displayed in the IDE. Cada ventana en el IDE puede tener su propio objeto de contexto de selección insertado en el contexto de selección global.Each window in the IDE can have its own selection context object pushed to the global selection context. El IDE actualiza el contexto de selección global con los valores de una ventana cuando esa ventana tiene el foco.The IDE updates the global selection context with values from a window when that window has the focus. Para obtener más información, consulte comentarios al usuario.For more information, see Feedback to the User.

Cada marco de ventana o el sitio en el IDE tiene un servicio denominado STrackSelection.Each window frame or site in the IDE has a service called STrackSelection. El objeto creado por el VSPackage que se ubica en el marco de ventana debe llamar a la QueryService método para obtener un puntero a la ITrackSelection interfaz.The object created by your VSPackage that is sited in the window frame must call the QueryService method to get a pointer to the ITrackSelection interface.

Ventanas de marco pueden mantener las partes de su información de contexto de selección se propague en el contexto de selección global cuando se inician.Frame windows can keep portions of their selection context information from being propagated to the global selection context when they are started. Esta capacidad es útil para las ventanas de herramientas que se tienen que iniciar con una selección vacía.This ability is useful for tool windows that may have to start with an empty selection.

Modificación de los eventos de desencadenadores de contexto de selección global que puede supervisar VSPackages.Modifying the global selection context triggers events that VSPackages can monitor. VSPackages puede realizar las siguientes tareas mediante la implementación IVsTrackSelectionEx y IVsMonitorSelection interfaces:VSPackages can perform the following tasks by implementing IVsTrackSelectionEx and IVsMonitorSelection interfaces:

  • Actualice el archivo activo actualmente en una jerarquía.Update the currently active file in a hierarchy.

  • Supervisar los cambios a ciertos tipos de elementos.Monitor changes to certain types of elements. Por ejemplo, si el paquete de VS utiliza una clase especial propiedades ventana, puede supervisar los cambios en el activo propiedades ventana y reinicie suyo cuando sea necesario.For example, if your VSPackage uses a special Properties window, you can monitor changes in the active Properties window and restart yours when required.

    La secuencia siguiente muestra el curso normal de seguimiento de selección.The following sequence shows the typical course of selection tracking.

  1. El IDE recupera el contexto de selección de la ventana recién abierta y lo coloca en el contexto de selección global.The IDE retrieves the selection context from the newly opened window and puts it in the global selection context. Si el contexto de selección usa HIERARCHY_DONTPROPAGATE o SELCONTAINER_DONTPROPAGATE, esa información no se propaga al contexto global.If the selection context uses HIERARCHY_DONTPROPAGATE or SELCONTAINER_DONTPROPAGATE, that information is not propagated to the global context. Para obtener más información, consulte comentarios al usuario.For more information, see Feedback to the User.

  2. Eventos de notificación se difunden a cualquier VSPackage que solicitaron.Notification events are broadcast to any VSPackage that requested them.

  3. El VSPackage actúa en los eventos que recibe mediante la realización de actividades, como la actualización de una jerarquía, reactivar una herramienta u otras tareas similares.The VSPackage acts on the events it receives by performing activities such as updating a hierarchy, reactivating a tool, or other similar tasks.

Vea tambiénSee Also

IVsTrackSelectionExIVsTrackSelectionEx
IVsMonitorSelectionIVsMonitorSelection
Jerarquías en Visual Studio Hierarchies in Visual Studio
Selección y moneda en el IDE Selection and Currency in the IDE
Tipos de proyectoProject Types