Partilhar via


RunningDocumentTable Classe

Definição

Fornece acesso à RDT (tabela de documentos em execução) que rastreia todos os documentos abertos no momento no 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)
Herança
RunningDocumentTable
Implementações

Exemplos

Este exemplo mostra como usar essa classe de um serviço de linguagem para obter o projeto proprietário de um arquivo aberto no momento no 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);  
        }  
    }  
}  

Comentários

A tabela de documentos em execução é usada para acompanhar todos os documentos que estão abertos atualmente no Visual Studio, sejam eles visíveis ou não. Um VSPackage (consulte VSPackages) pode acessar o RDT chamando o IServiceProvider.QueryService método em um provedor de serviços com a ID de serviço do SVsRunningDocumentTable serviço e o GUID da IVsRunningDocumentTable interface.

Essa classe simplifica o acesso ao RDT para VSPackages ocultando os detalhes da IVsRunningDocumentTable interface por trás de uma coleção de métodos úteis. Observe que a <xref:Microsoft.VisualStudio.Package.RunningDocumentTable> classe é usada apenas para acessar informações do documento. Se você quiser acompanhar eventos RDT, deverá obter a IVsRunningDocumentTable interface por conta própria (por meio do IServiceProvider.QueryService método em um provedor de serviços) e chamar o AdviseRunningDocTableEvents método com sua própria implementação da IVsRunningDocTableEvents interface (ou seus derivados).

A Source classe usa essa classe para obter o projeto proprietário de um documento ao compilar a lista de itens de tarefa de erro para as janelas de tarefas.

Notas aos Chamadores

Crie uma instância dessa classe para obter informações sobre um documento aberto. O objeto resultante normalmente é armazenado em cache para melhorar o desempenho. Observe que essa classe não fornece acesso completo ao RDT.

Construtores

RunningDocumentTable()

Cria uma nova instância do RunningDocumentTable.

RunningDocumentTable(IServiceProvider)

Inicializa uma nova instância da classe Microsoft.VisualStudio.Package.RunningDocumentTable.

RunningDocumentTable(IVsRunningDocumentTable)

Fornece acesso à RDT (tabela de documentos em execução) que rastreia todos os documentos abertos no momento no Visual Studio.

Métodos

Advise(IVsRunningDocTableEvents)

Permite que o cliente receba eventos sobre alterações na RDT (Tabela de Documentos em Execução).

CloseDocument(__FRAMECLOSE, UInt32)

Fecha o documento.

CloseHierarchy(__FRAMECLOSE, IVsHierarchy)

Fecha a hierarquia do projeto.

CloseSolution(__FRAMECLOSE)

Fecha a solução.

FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32)

Localiza e bloqueia o documento.

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

Localiza e bloqueia o documento.

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

Localiza e bloqueia o documento.

FindDocument(String)

Obtém um objeto da RDT (tabela de documentos em execução) que representa o documento especificado pelo caminho fornecido.

FindDocument(String, IVsHierarchy, UInt32, UInt32)

Obtém um objeto, um cookie e um tipo de projeto proprietário da RDT (Tabela de Documentos em Execução) para o documento especificado pelo caminho fornecido.

FindDocument(String, UInt32)

Obtém um cookie da RDT (Tabela de Documentos em Execução) que representa o documento especificado pelo caminho fornecido.

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

Fornece acesso à RDT (tabela de documentos em execução) que rastreia todos os documentos abertos no momento no Visual Studio.

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

Fornece acesso à RDT (tabela de documentos em execução) que rastreia todos os documentos abertos no momento no Visual Studio.

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

Fornece acesso à RDT (tabela de documentos em execução) que rastreia todos os documentos abertos no momento no Visual Studio.

GetDocumentInfo(String)

Obtém informações sobre um documento registrado na Tabela de Documentos em Execução, considerando o identificador do documento.

GetDocumentInfo(UInt32)

Obtém informações sobre um documento registrado na Tabela de Documentos em Execução, considerando o identificador do documento.

GetDocumentInfoAsync(String, CancellationToken)

Fornece acesso à RDT (tabela de documentos em execução) que rastreia todos os documentos abertos no momento no Visual Studio.

GetDocumentInfoAsync(UInt32, CancellationToken)

Fornece acesso à RDT (tabela de documentos em execução) que rastreia todos os documentos abertos no momento no Visual Studio.

GetEnumerator()

Obtém um enumerador dos documentos na Tabela de Documentos em Execução.

GetHierarchyItem(String)

Obtém o projeto que possui o documento especificado.

GetRelatedSaveTreeItems(UInt32, UInt32)

Obtém uma matriz de itens de árvore de salvamento.

GetRunningDocumentContents(String)

Usa a RDT (Tabela de Documentos em Execução) para obter o conteúdo de um documento dado o caminho para o documento.

GetRunningDocumentContents(UInt32)

Usa a RDT (Tabela de Documentos em Execução) para obter o conteúdo de um documento dado o caminho para o documento.

LockDocument(_VSRDTFLAGS, UInt32)

Obtém um bloqueio de leitura ou edição no documento especificado.

QueryCloseRunningDocument(String)

Determina se o documento pode ser fechado.

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

Cria uma entrada na tabela de documentos em execução quando um documento é criado ou aberto.

RenameDocument(String, String, IVsHierarchy, UInt32)

Renomeia um documento e, opcionalmente, fornece a propriedade do documento para o projeto especificado.

SaveFileIfDirty(String)

Salva o arquivo especificado se ele tiver sido alterado desde o último salvamento.

Unadvise(UInt32)

Indica que o cliente não está mais interessado em receber eventos rdt (tabela de documentos em execução).

UnlockDocument(_VSRDTFLAGS, UInt32)

Libera um bloqueio de leitura ou edição no documento aberto.

Implantações explícitas de interface

IEnumerable.GetEnumerator()

Enumera os documentos na Tabela de Documentos em Execução.

Métodos de Extensão

EmptyIfNull<T>(IEnumerable<T>)

Retorne essa enumeração caso ela não seja nula. Caso seja uma enumeração vazia de retorno nulo.

Aplica-se a