Compatibilidad con herramientas de exploración de símbolosSupporting Symbol-Browsing Tools

Examinador de objetos, vista de clases, Examinador de llamadas y resultados de la búsqueda de símbolos herramientas proporcionan símbolos examinar funciones en Visual Studio.Object Browser, Class View, Call Browser and Find Symbol Results tools provide symbol browsing capabilities in Visual Studio. Estas herramientas muestran vistas de árbol jerárquico de símbolos y mostrar las relaciones entre los símbolos en el árbol.These tools display hierarchical tree views of symbols and show the relationships between the symbols in the tree. Pueden representar los símbolos de espacios de nombres, objetos, clases, miembros de clase y otros elementos de lenguaje incluidos en varios componentes.The symbols may represent namespaces, objects, classes, class members, and other language elements contained in various components. Los componentes incluyen proyectos de Visual Studio, externos .NET Framework.NET Framework componentes y las bibliotecas de tipos (.tlb).The components include Visual Studio projects, external .NET Framework.NET Framework components and type (.tlb) libraries. Para obtener más información, vea Ver la estructura del código.For more information, see Viewing the Structure of Code.

Bibliotecas de exploración de símbolosSymbol-Browsing Libraries

Como un implementador de idioma, puede ampliar las capacidades de exploración de símbolos de Visual Studio mediante la creación de las bibliotecas que realizar un seguimiento de los símbolos de los componentes y proporcionan las listas de símbolos para el Administrador de objetos de Visual Studio a través de un conjunto de las interfaces.As a language implementer, you can extend the Visual Studio symbol-browsing capabilities by creating libraries that track the symbols in your components and provide the lists of symbols to the Visual Studio object manager through a set of the interfaces. Describe una biblioteca de la IVsSimpleLibrary2 interfaz.A library is described by the IVsSimpleLibrary2 interface. El Administrador de objetos de Visual Studio responde a solicitudes para los nuevos datos de las herramientas de exploración de símbolos obteniendo los datos de las bibliotecas y su organización.The Visual Studio object manager responds to requests for new data from the symbol-browsing tools by obtaining the data from the libraries and organizing it. Posteriormente se rellenan o se actualiza las herramientas con los datos solicitados.It subsequently populates or updates the tools with the requested data. Para obtener una referencia al administrador de objetos de Visual Studio, IVsObjectManager2, pasar la SVsObjectManager servicio Id. para el GetService método.To obtain a reference to the Visual Studio object manager, IVsObjectManager2, pass the SVsObjectManager service ID to the GetService method.

Cada biblioteca debe registrar con el Administrador de objetos de Visual Studio, que recopila la información en todas las bibliotecas.Each library must register with the Visual Studio object manager, which collects the information on all libraries. Para registrar una biblioteca, llame a la RegisterSimpleLibrary método.To register a library, call the RegisterSimpleLibrary method. Dependiendo de la herramienta que inicia la solicitud, el Administrador de objetos de Visual Studio busca la biblioteca adecuada y solicita los datos.Depending on which tool initiates the request, the Visual Studio object manager finds the appropriate library and requests data. Los datos se transfieren entre las bibliotecas y el Visual StudioVisual Studio el Administrador de objetos en listas de símbolos descritos por el IVsSimpleObjectList2 interfaz.The data travels between the libraries and the Visual StudioVisual Studio object manager in lists of symbols described by the IVsSimpleObjectList2 interface.

El Visual StudioVisual Studio el Administrador de objetos es responsable de actualizar periódicamente herramientas de exploración de símbolo para reflejar los datos más recientes contenidos en las bibliotecas.The Visual StudioVisual Studio object manager is responsible for periodically refreshing symbol-browsing tools to reflect the most current data contained in the libraries.

El diagrama siguiente contiene un ejemplo de los elementos clave del proceso de intercambio de solicitudes/datos entre una biblioteca y el Administrador de objetos de Visual Studio.The diagram below contains a sample of key elements of the requests/data exchange process between a library and the Visual Studio object manager. Las interfaces en el diagrama forman parte de una aplicación de código administrado.The interfaces in the diagram are part of a managed code application.

Flujo de datos entre una biblioteca y el Administrador de objetosData flow between a library and the object manager

Para proporcionar las listas de símbolos para el Administrador de objetos de Visual Studio, en primer lugar debe registrar la biblioteca con el Administrador de objetos de Visual Studio mediante una llamada a la RegisterSimpleLibrary método.To provide the lists of symbols to the Visual Studio object manager, you must first register the library with the Visual Studio object manager by calling the RegisterSimpleLibrary method. Cuando se registre la biblioteca, el Administrador de objetos de Visual Studio solicita determinada información acerca de las capacidades de la biblioteca.After the library is registered, the Visual Studio object manager requests certain information about the capabilities of the library. Por ejemplo, se solicita a los marcadores de biblioteca y admite categorías mediante una llamada a la GetLibFlags2 y GetSupportedCategoryFields2 métodos.For example, it requests the library flags and supported categories by calling the GetLibFlags2 and GetSupportedCategoryFields2 methods. En algún momento, cuando una de las herramientas solicita datos de esta biblioteca, el Administrador de objetos solicita la lista de símbolos de nivel superior mediante una llamada a la GetList2 método.At some point, when one of the tools requests data from this library, the object manager requests the top-level list of symbols by calling the GetList2 method. En respuesta, la biblioteca fabrica una lista de símbolos y expone para el Administrador de objetos de Visual Studio a través de la IVsSimpleObjectList2 interfaz.In response, the library manufactures a list of symbols and exposes it to the Visual Studio object manager through the IVsSimpleObjectList2 interface. El Visual StudioVisual Studio el Administrador de objetos determina el número de elementos que está en la lista mediante una llamada a la GetItemCount método.The Visual StudioVisual Studio object manager determines how many items are in the list by calling the GetItemCount method. Todas las solicitudes siguientes se relacionan con un elemento determinado en la lista y proporcionan el número de índice del elemento en cada solicitud.All following requests relate to a given item in the list and supply the item index number in each request. El Administrador de objetos de Visual Studio avanza a recopilar la información en el tipo, la accesibilidad y otras propiedades del elemento mediante una llamada a la GetCategoryField2 método.The Visual Studio object manager proceeds to collect the information on the type, the accessibility, and other properties of the item by calling the GetCategoryField2 method.

Determina el nombre del elemento mediante una llamada a la GetTextWithOwnership método y solicita la información de icono mediante una llamada a la GetDisplayData método.It determines the name of the item by calling the GetTextWithOwnership method and requests the icon information by calling the GetDisplayData method. El icono se muestra a la izquierda del nombre del elemento y describe el tipo de elemento, la accesibilidad y otras propiedades.The icon is displayed to the left of the item name and depicts the type of the item, the accessibility, and other properties.

El Visual StudioVisual Studio objeto llamadas del Administrador de la GetExpandable3 método para determinar si un elemento de lista determinado es expansible y tiene los elementos secundarios.The Visual StudioVisual Studio object manager calls the GetExpandable3 method to determine if a given list item is expandable and has children items. Si la interfaz de usuario envía una solicitud para expandir un elemento, el Administrador de objetos solicita la lista secundaria de símbolos mediante una llamada a la GetList2 método.If UI sends a request to expand an element, the object manager requests the child list of symbols by calling the GetList2 method. El proceso continúa con diferentes partes del árbol que se está generando a petición.The process continues with different parts of the tree being built on demand.

Nota

Para implementar un proveedor de símbolos de código nativo, use la IVsLibrary2 y IVsObjectList2 interfaces.To implement a native code symbol provider, use the IVsLibrary2 and IVsObjectList2 interfaces.

Vea tambiénSee Also

Cómo: registrar una biblioteca con el Administrador de objetos How to: Register a Library with the Object Manager
Cómo: exponer listas de símbolos proporcionadas por la biblioteca en el Administrador de objetos How to: Expose Lists of Symbols Provided by the Library to the Object Manager
Identificación de símbolos en una bibliotecaHow to: Identify Symbols in a Library