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(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(문서 테이블)에 대한 액세스를 제공합니다. |
메서드
명시적 인터페이스 구현
IEnumerable.GetEnumerator() |
실행 중인 문서 테이블의 문서를 열거합니다. |
확장 메서드
EmptyIfNull<T>(IEnumerable<T>) |
null이 아닌 경우 이 열거형을 반환합니다. null인 경우 빈 열거형을 반환합니다. |