RunningDocumentTable Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |