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) 可以通过使用服务 ID SVsRunningDocumentTable 和接口的 GUID IVsRunningDocumentTable 在服务提供程序上调用 IServiceProvider.QueryService 方法来访问 RDT。

此类通过隐藏有用方法集合后面的接口详细信息 IVsRunningDocumentTable ,简化了对 VSPackage 的 RDT 的访问。 请注意, <xref:Microsoft.VisualStudio.Package.RunningDocumentTable> 类仅用于访问文档信息。 如果要跟踪 RDT 事件,则必须通过IServiceProvider.QueryService服务提供商) 上的 方法自行 (获取IVsRunningDocumentTable接口,并使用自己的接口IVsRunningDocTableEvents实现 (或其派生) 调用AdviseRunningDocTableEvents方法。

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)

从给定路径指定的文档的运行文档表 (RDT) 获取对象、Cookie 和拥有项目类型。

FindDocument(String, UInt32)

从正在运行的文档表 (RDT) 获取一个 Cookie,该 cookie 表示由给定路径指定的文档。

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)

使用运行文档表 (RDT) 获取给定文档路径的文档的内容。

GetRunningDocumentContents(UInt32)

使用运行文档表 (RDT) 获取给定文档路径的文档的内容。

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,则返回空枚举。

适用于