RunningDocumentTable クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Visual Studio で現在開いているすべてのドキュメントを追跡する実行中のドキュメント テーブル (RDT) へのアクセスを提供します。
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 とインターフェイスの IServiceProvider.QueryService GUID を使用してサービス プロバイダーの メソッドを呼び出すことによって、RDT にIVsRunningDocumentTableアクセスできます。
このクラスは、便利なメソッドのコレクションの背後にあるインターフェイスの 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) |
Visual Studio で現在開いているすべてのドキュメントを追跡する実行中のドキュメント テーブル (RDT) へのアクセスを提供します。 |
メソッド
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 を取得します。 |
FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object) |
Visual Studio で現在開いているすべてのドキュメントを追跡する実行中のドキュメント テーブル (RDT) へのアクセスを提供します。 |
FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object, IVsHierarchy, UInt32, UInt32) |
Visual Studio で現在開いているすべてのドキュメントを追跡する実行中のドキュメント テーブル (RDT) へのアクセスを提供します。 |
FindOrRegisterAndLockDocument(_VSRDTFLAGS, String, IVsHierarchy, UInt32, Object, UInt32) |
Visual Studio で現在開いているすべてのドキュメントを追跡する実行中のドキュメント テーブル (RDT) へのアクセスを提供します。 |
GetDocumentInfo(String) |
ドキュメントの識別子を指定して、実行中のドキュメント テーブルに登録されているドキュメントに関する情報を取得します。 |
GetDocumentInfo(UInt32) |
ドキュメントの識別子を指定して、実行中のドキュメント テーブルに登録されているドキュメントに関する情報を取得します。 |
GetDocumentInfoAsync(String, CancellationToken) |
Visual Studio で現在開いているすべてのドキュメントを追跡する実行中のドキュメント テーブル (RDT) へのアクセスを提供します。 |
GetDocumentInfoAsync(UInt32, CancellationToken) |
Visual Studio で現在開いているすべてのドキュメントを追跡する実行中のドキュメント テーブル (RDT) へのアクセスを提供します。 |
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 の場合は、空の列挙を返します。 |