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 类的新实例。 |
页首
方法
页首
显式接口实现
名称 | 说明 | |
---|---|---|
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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。