共用方式為


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) 可以在服務提供者上呼叫 IServiceProvider.QueryService 方法,並使用服務的服務 SVsRunningDocumentTable 標識碼和介面的 IVsRunningDocumentTable GUID 來存取 RDT。

這個類別藉由隱藏實用方法集合背後的介面詳細數據 IVsRunningDocumentTable ,簡化對 VSPackages 的 RDT 存取。 請注意,類別 <xref:Microsoft.VisualStudio.Package.RunningDocumentTable> 僅用於存取文件資訊。 如果您想要追蹤 RDT 事件,您必須透過IServiceProvider.QueryService服務提供者上的方法自行取得IVsRunningDocumentTable介面 () ,並使用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)

從執行中的 Document Table (RDT) 取得物件,此物件代表指定路徑所指定的檔。

FindDocument(String, IVsHierarchy, UInt32, UInt32)

從指定路徑所指定檔的執行中檔數據表 (RDT) 取得物件、Cookie 和擁有項目類型。

FindDocument(String, UInt32)

從執行中的文件數據表 (RDT) 取得 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,則傳回空列舉。

適用於