RunningDocumentTable 类

提供对运行文档中 (RDT) Visual Studio跟踪当前已打开的任何文档的表。

继承层次结构

System.Object
  Microsoft.VisualStudio.Shell.RunningDocumentTable

命名空间:  Microsoft.VisualStudio.Shell
程序集:  Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)

语法

声明
Public Class RunningDocumentTable _
    Implements IEnumerable(Of RunningDocumentInfo), IEnumerable
public class RunningDocumentTable : IEnumerable<RunningDocumentInfo>, 
    IEnumerable

RunningDocumentTable 类型公开以下成员。

构造函数

  名称 说明
公共方法 RunningDocumentTable()
公共方法 RunningDocumentTable(IServiceProvider) 初始化 RunningDocumentTable 类的新实例。

页首

方法

  名称 说明
公共方法 Advise 使客户端收到有关更改的事件来运行文档表 (RDT)。
公共方法 CloseDocument
公共方法 CloseHierarchy
公共方法 CloseSolution
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32)
公共方法 FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32, UInt32%)
公共方法 FindAndLockDocumentEx(_VSRDTFLAGS, String, IVsHierarchy, UInt32, IVsHierarchy%, UInt32%, UInt32%)
公共方法 FindDocument(String) 从运行获取对象的文档表示特定路径指定文档的表 (RDT)。
公共方法 FindDocument(String, UInt32%) 从运行获取 cookie 的文档表示特定路径指定文档的表 (RDT)。
公共方法 FindDocument(String, IVsHierarchy%, UInt32%, UInt32%) 获取对象, cookie,并且,拥有从运行的项目类型文档给定路径指定文档的表 (RDT)。
公共方法 FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object)
公共方法 FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object, UInt32%)
公共方法 FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object, IVsHierarchy%, UInt32%, UInt32%)
公共方法 GetDocumentInfo 获取有关在运行注册的文档的信息文档表将文档的标识符。
公共方法 GetEnumerator 在运行获取枚举数文档表。
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetHierarchyItem 获取拥有指定文档的项目。
公共方法 GetRelatedSaveTreeItems
公共方法 GetRunningDocumentContents(String) 使用运行文档表 (RDT)获取文档的内容提供路径文档。
公共方法 GetRunningDocumentContents(UInt32) 使用运行文档表 (RDT)获取文档的内容提供路径文档。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 LockDocument 获取读取或编辑特定的锁文档。
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 QueryCloseRunningDocument
公共方法 RegisterAndLockDocument ,当在创建或打开文档时,在运行创建项文档表。
公共方法 RenameDocument 向文档重命名和选择性地生成文档的所有权所指定的项目。
公共方法 SaveFileIfDirty ,如果已更改,因为次保存,保存为指定的文件。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)
公共方法 Unadvise 指示客户端接收运行不再关注文档表 (RDT)操作。
公共方法 UnlockDocument 释放读取或编辑中的锁打开文档。

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IEnumerable.GetEnumerator 在运行枚举文档表。

页首

备注

运行文档表用于跟踪在 Visual Studio当前已打开的所有文档,是否可见。VSPackage (请参见 Vspackage) 通过对服务提供程序的 IServiceProvider.QueryService 方式访问 RDT 与 SVsRunningDocumentTable 服务的服务标识符和 IVsRunningDocumentTable 接口的 GUID。

此类通过隐藏 IVsRunningDocumentTable 接口的详细信息简化对 RDT 的访问 Vspackage 中有用的方法之后的集合。请注意 RunningDocumentTable 类用于访问仅使用文档信息。如果要跟踪 RDT 事件,您必须获取与的 IVsRunningDocumentTable 接口 (通过 IServiceProvider.QueryService 方法在服务提供程序) 和调用 AdviseRunningDocTableEvents 方法拥有 IVsRunningDocTableEvents 接口 (或其派生对象) 的实现。

,在生成错误任务 " 窗口时,任务项列表 Source 类使用此类获取文档拥有的项目。

对调用者的说明

实例化此类获取有关的信息打开文档。通常缓存得到的对象提高性能。请注意此类不提供对 RDT 的完全访问权限。

示例

此示例演示如何使用从语言服务的此类获取文件的所属项目中当前打开的编辑器。

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

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Shell 命名空间