다음을 통해 공유


RunningDocumentTable 클래스

정의

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(VSPackage 참조)는 서비스 ID 및 인터페이스의 SVsRunningDocumentTable GUID를 사용하여 서비스 공급자에서 메서드를 호출 IServiceProvider.QueryService 하여 RDT에 IVsRunningDocumentTable 액세스할 수 있습니다.

이 클래스는 유용한 메서드 컬렉션 뒤에 인터페이스의 IVsRunningDocumentTable 세부 정보를 숨기면 VSPackages용 RDT에 대한 액세스를 간소화합니다. 클래스는 <xref:Microsoft.VisualStudio.Package.RunningDocumentTable> 문서 정보에 액세스하는 데만 사용됩니다. RDT 이벤트를 추적하려는 경우 인터페이스를 IVsRunningDocumentTable 직접 가져와야 합니다(서비스 공급자의 IServiceProvider.QueryService 메서드를 통해). 인터페이스(또는 해당 파생 항목)를 IVsRunningDocTableEvents 직접 구현하여 메서드를 호출 AdviseRunningDocTableEvents 해야 합니다.

클래스는 Source 이 클래스를 사용하여 작업창에 대한 오류 작업 항목 목록을 작성할 때 문서의 소유 프로젝트를 가져옵니다.

호출자 참고

열려 있는 문서에 대한 정보를 가져오려면 이 클래스를 인스턴스화합니다. 결과 개체는 일반적으로 성능을 향상시키기 위해 캐시됩니다. 이 클래스는 RDT에 대한 전체 액세스를 제공하지 않습니다.

생성자

RunningDocumentTable()

RunningDocumentTable의 새 instance 인스턴스화합니다.

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(실행 중인 문서 테이블)에서 개체, 쿠키 및 소유 프로젝트 형식을 가져옵니다.

FindDocument(String, UInt32)

지정된 경로로 지정된 문서를 나타내는 RDT(실행 중인 문서 테이블)에서 쿠키를 가져옵니다.

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인 경우 빈 열거형을 반환합니다.

적용 대상