Поделиться через


RunningDocumentTable Класс

Определение

Предоставляет доступ к запущенной таблице документов (RDT), которая отслеживает все открытые в настоящее время документы в 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)
Наследование
RunningDocumentTable
Реализации

Примеры

В этом примере показано, как использовать этот класс из языковой службы для получения проекта владельца файла, открытого в настоящее время в редакторе.

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);  
        }  
    }  
}  

Комментарии

Текущая таблица документов используется для отслеживания всех документов, открытых в Visual Studio, независимо от того, видны они или нет. ПАКЕТ VSPackage (см. vsPackages) может получить доступ к RDT, вызвав IServiceProvider.QueryService метод в поставщике службы с идентификатором SVsRunningDocumentTable службы и GUID IVsRunningDocumentTable интерфейса.

Этот класс упрощает доступ к RDT для VSPackages, скрывая сведения об интерфейсе IVsRunningDocumentTable за коллекцией полезных методов. Обратите внимание, что <xref:Microsoft.VisualStudio.Package.RunningDocumentTable> класс используется только для доступа к сведениям о документе. Если вы хотите отслеживать события RDT, необходимо получить IVsRunningDocumentTable интерфейс самостоятельно (с помощью IServiceProvider.QueryService метода поставщика услуг) и вызвать AdviseRunningDocTableEvents метод с собственной реализацией IVsRunningDocTableEvents интерфейса (или его производных).

Класс Source использует этот класс для получения проекта владельца документа при построении списка элементов задачи с ошибками для окон задач.

Примечания для тех, кто вызывает этот метод

Создайте экземпляр этого класса для получения сведений об открытом документе. Результирующий объект обычно кэшируется для повышения производительности. Обратите внимание, что этот класс не предоставляет полный доступ к RDT.

Конструкторы

RunningDocumentTable()

Создает экземпляр нового экземпляра RunningDocumentTable.

RunningDocumentTable(IServiceProvider)

Инициализирует новый экземпляр класса Microsoft.VisualStudio.Package.RunningDocumentTable.

RunningDocumentTable(IVsRunningDocumentTable)

Предоставляет доступ к запущенной таблице документов (RDT), которая отслеживает все открытые в настоящее время документы в Visual Studio.

Методы

Advise(IVsRunningDocTableEvents)

Позволяет клиенту получать события по изменениям в таблице выполняющихся документов (RDT).

CloseDocument(__FRAMECLOSE, UInt32)

Закрывает документ.

CloseHierarchy(__FRAMECLOSE, IVsHierarchy)

Закрывает иерархию проекта.

CloseSolution(__FRAMECLOSE)

Закрывает решение.

FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32)

Находит и блокирует документ.

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

Находит и блокирует документ.

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

Находит и блокирует документ.

FindDocument(String)

Получает объект из таблицы выполняющихся документов (RDT), представляющий документ, указанный заданным путем.

FindDocument(String, IVsHierarchy, UInt32, UInt32)

Получает объект, файл cookie и тип владеющего проекта из таблицы выполняющихся документов (RDT), представляющий документ, указанный заданным путем.

FindDocument(String, UInt32)

Получает файл cookie из таблицы выполняющихся документов (RDT), представляющий документ, указанный заданным путем.

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

Предоставляет доступ к запущенной таблице документов (RDT), которая отслеживает все открытые в настоящее время документы в Visual Studio.

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

Предоставляет доступ к запущенной таблице документов (RDT), которая отслеживает все открытые в настоящее время документы в Visual Studio.

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

Предоставляет доступ к запущенной таблице документов (RDT), которая отслеживает все открытые в настоящее время документы в Visual Studio.

GetDocumentInfo(String)

Получает сведения о документе, зарегистрированном в таблице выполняющихся документов, используя заданный идентификатор документа.

GetDocumentInfo(UInt32)

Получает сведения о документе, зарегистрированном в таблице выполняющихся документов, используя заданный идентификатор документа.

GetDocumentInfoAsync(String, CancellationToken)

Предоставляет доступ к запущенной таблице документов (RDT), которая отслеживает все открытые в настоящее время документы в Visual Studio.

GetDocumentInfoAsync(UInt32, CancellationToken)

Предоставляет доступ к запущенной таблице документов (RDT), которая отслеживает все открытые в настоящее время документы в Visual Studio.

GetEnumerator()

Перечисляет перечислитель документов в таблице выполняющихся документов.

GetHierarchyItem(String)

Получает проект, которому принадлежит заданный документ.

GetRelatedSaveTreeItems(UInt32, UInt32)

Возвращает массив элементов дерева сохранения.

GetRunningDocumentContents(String)

Использует таблицу выполняемых документов для получения содержимого документа по заданному пути к документу.

GetRunningDocumentContents(UInt32)

Использует таблицу выполняемых документов для получения содержимого документа по заданному пути к документу.

LockDocument(_VSRDTFLAGS, UInt32)

Получает блокировку чтения или редактирования на указанном документе.

QueryCloseRunningDocument(String)

Определяет, можно ли закрыть документ.

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

Создает запись в таблице выполняющихся документов при создании или открытии документа.

RenameDocument(String, String, IVsHierarchy, UInt32)

Переименовывает документ и, при необходимости, присваивает владение документом конкретному проекту.

SaveFileIfDirty(String)

Сохраняет указанный файл, если он был изменен с момента последнего сохранения.

Unadvise(UInt32)

Указывает, что клиент более не заинтересован в получении событий запущенной таблицы документов (RDT).

UnlockDocument(_VSRDTFLAGS, UInt32)

Освобождает блокировку чтения или редактирования в открытом документе.

Явные реализации интерфейса

IEnumerable.GetEnumerator()

Перечисляет документы в таблице выполняющихся документов.

Методы расширения

EmptyIfNull<T>(IEnumerable<T>)

Возвращать это перечисление в случае, если оно не равно NULL. Если значение равно NULL, возвращается пустое перечисление.

Применяется к