Compartir a través de


RunningDocumentTable Clase

Definición

Proporciona acceso a la tabla de documentos en ejecución (RDT) que realiza un seguimiento de todos los documentos abiertos actualmente en Visual Studio.

public ref class RunningDocumentTable : System::Collections::Generic::IEnumerable<Microsoft::VisualStudio::Shell::RunningDocumentInfo>
public class RunningDocumentTable : System.Collections.Generic.IEnumerable<Microsoft.VisualStudio.Shell.RunningDocumentInfo>
type RunningDocumentTable = class
    interface seq<RunningDocumentInfo>
    interface IEnumerable
Public Class RunningDocumentTable
Implements IEnumerable(Of RunningDocumentInfo)
Herencia
RunningDocumentTable
Implementaciones

Ejemplos

En este ejemplo se muestra cómo usar esta clase desde un servicio de lenguaje para obtener el proyecto propietario de un archivo abierto actualmente en el editor.

using Microsoft.VisualStudio.Package;  

namespace MyLanguagePackage  
{  
    public class MyLanguageService : LanguageService  
    {  
        IServiceProvider serviceProvider;  

        public IVsHierarchy GetOwningProject(Source src)  
        {  
            RunningDocumentTable rdt = new RunningDocumentTable(this.serviceProvider);  
            string filename = src.GetFilePath();  
            return rdt.GetHierarchyItem(filename);  
        }  
    }  
}  

Comentarios

La tabla de documentos en ejecución se usa para realizar un seguimiento de todos los documentos que están abiertos actualmente en Visual Studio, tanto si están visibles como si no. Un VSPackage (consulte VSPackages) puede acceder al RDT llamando al IServiceProvider.QueryService método en un proveedor de servicios con el identificador de servicio del SVsRunningDocumentTable servicio y el GUID de la IVsRunningDocumentTable interfaz.

Esta clase simplifica el acceso al RDT para VSPackages ocultando los detalles de la IVsRunningDocumentTable interfaz detrás de una colección de métodos útiles. Tenga en cuenta que la <xref:Microsoft.VisualStudio.Package.RunningDocumentTable> clase solo se usa para acceder a la información del documento. Si desea realizar un seguimiento de los eventos RDT, debe obtener la IVsRunningDocumentTable interfaz usted mismo (a través del IServiceProvider.QueryService método en un proveedor de servicios) y llamar al AdviseRunningDocTableEvents método con su propia implementación de la IVsRunningDocTableEvents interfaz (o sus derivados).

La Source clase usa esta clase para obtener el proyecto propietario de un documento al compilar la lista de elementos de tarea de error para las ventanas de tareas.

Notas a los autores de las llamadas

Cree una instancia de esta clase para obtener información sobre un documento abierto. Normalmente, el objeto resultante se almacena en caché para mejorar el rendimiento. Tenga en cuenta que esta clase no proporciona acceso completo al RDT.

Constructores

RunningDocumentTable()

Crea una instancia nueva de RunningDocumentTable.

RunningDocumentTable(IServiceProvider)

Inicializa una nueva instancia de la clase Microsoft.VisualStudio.Package.RunningDocumentTable.

RunningDocumentTable(IVsRunningDocumentTable)

Proporciona acceso a la tabla de documentos en ejecución (RDT) que realiza un seguimiento de todos los documentos abiertos actualmente en Visual Studio.

Métodos

Advise(IVsRunningDocTableEvents)

Habilita al cliente para recibir eventos sobre cambios en la tabla de documentos en ejecución (RDT).

CloseDocument(__FRAMECLOSE, UInt32)

Cierra el documento.

CloseHierarchy(__FRAMECLOSE, IVsHierarchy)

Cierra la jerarquía del proyecto.

CloseSolution(__FRAMECLOSE)

Cierra la solución.

FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32)

Busca y bloquea el documento.

FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32, IVsHierarchy, UInt32, UInt32)

Busca y bloquea el documento.

FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32, UInt32)

Busca y bloquea el documento.

FindDocument(String)

Obtiene un objeto de la tabla de documentos en ejecución (RDT) actual que representa el documento especificado en la ruta de acceso especificada.

FindDocument(String, IVsHierarchy, UInt32, UInt32)

Obtiene un objeto, una cookie y un tipo de proyecto propietario de la tabla de documentos en ejecución (RDT) para el documento especificado en la ruta de acceso especificada.

FindDocument(String, UInt32)

Obtiene una cookie de la tabla de documentos en ejecución (RDT) actual que representa el documento especificado en la ruta de acceso especificada.

FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object)

Proporciona acceso a la tabla de documentos en ejecución (RDT) que realiza un seguimiento de todos los documentos abiertos actualmente en Visual Studio.

FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object, IVsHierarchy, UInt32, UInt32)

Proporciona acceso a la tabla de documentos en ejecución (RDT) que realiza un seguimiento de todos los documentos abiertos actualmente en Visual Studio.

FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object, UInt32)

Proporciona acceso a la tabla de documentos en ejecución (RDT) que realiza un seguimiento de todos los documentos abiertos actualmente en Visual Studio.

GetDocumentInfo(String)

Obtiene información sobre un documento registrado en la tabla de documentos en ejecución, según el identificador del documento.

GetDocumentInfo(UInt32)

Obtiene información sobre un documento registrado en la tabla de documentos en ejecución, según el identificador del documento.

GetDocumentInfoAsync(String, CancellationToken)

Proporciona acceso a la tabla de documentos en ejecución (RDT) que realiza un seguimiento de todos los documentos abiertos actualmente en Visual Studio.

GetDocumentInfoAsync(UInt32, CancellationToken)

Proporciona acceso a la tabla de documentos en ejecución (RDT) que realiza un seguimiento de todos los documentos abiertos actualmente en Visual Studio.

GetEnumerator()

Obtiene un enumerador de los documentos de la tabla de documentos en ejecución.

GetHierarchyItem(String)

Obtiene el proyecto que posee el documento especificado.

GetRelatedSaveTreeItems(UInt32, UInt32)

Obtiene una matriz de elementos de árbol de guardado.

GetRunningDocumentContents(String)

Usa la tabla de documentos en ejecución (RDT) para obtener el contenido de un documento dada la ruta de acceso al documento.

GetRunningDocumentContents(UInt32)

Usa la tabla de documentos en ejecución (RDT) para obtener el contenido de un documento dada la ruta de acceso al documento.

LockDocument(_VSRDTFLAGS, UInt32)

Obtiene un bloque de lectura o edición en el documento especificado.

QueryCloseRunningDocument(String)

Determina si se puede cerrar el documento.

RegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, IntPtr)

Crea una entrada en la tabla de documentos en ejecución cuando se crea o se abre un documento.

RenameDocument(String, String, IVsHierarchy, UInt32)

Cambia el nombre de un documento y, opcionalmente, proporciona la propiedad del documento al proyecto especificado.

SaveFileIfDirty(String)

Guarda el archivo especificado si ha cambiado desde la última vez que se guardó.

Unadvise(UInt32)

Indica que el cliente ya no está interesado en recibir eventos de la tabla de documentos en ejecución (RDT).

UnlockDocument(_VSRDTFLAGS, UInt32)

Libera un bloqueo de lectura o de edición en el documento abierto.

Implementaciones de interfaz explícitas

IEnumerable.GetEnumerator()

Enumera los documentos en la tabla de documentos en ejecución.

Métodos de extensión

EmptyIfNull<T>(IEnumerable<T>)

Devuelve esta enumeración en caso de que no sea null. En caso de que sea null, se devuelve una enumeración vacía.

Se aplica a