사용자 지정 편집기의 문서 데이터 및 문서 보기

사용자 지정 편집기는 문서 데이터 개체와 문서 보기 개체의 두 부분으로 구성됩니다. 이름에서 알 수 있듯이 문서 데이터 개체는 표시할 텍스트 데이터를 나타냅니다. 마찬가지로 문서 보기 개체(또는 "보기")는 문서 데이터 개체를 표시할 하나 이상의 창을 나타냅니다.

문서 데이터 개체

문서 데이터 개체는 텍스트 버퍼에 있는 텍스트의 데이터 표현으로, 문서 텍스트 및 기타 정보를 저장하는 COM 개체입니다. 또한 문서 데이터 개체는 문서 지속성을 처리하고 해당 데이터를 여러 보기에 표시할 수 있게 합니다. 자세한 내용은 참조하세요.

DocumentData[]문서 창.

사용자 지정 편집기 및 디자이너는 VsTextBuffer 개체 또는 자체 사용자 지정 버퍼를 사용하도록 선택할 수 있습니다. VsTextBuffer는 표준 편집기용 간단한 포함 모델을 따르고 다중 보기를 지원하며 여러 보기를 관리하는 데 사용되는 이벤트 인터페이스를 제공합니다.

문서 보기 개체

코드 및 기타 텍스트를 표시하는 창을 문서 보기 또는 보기라고 합니다. 편집기를 만들 때 단일 창에 텍스트가 표시되는 단일 보기를 선택할 수 있습니다. 또는 여러 창에 텍스트가 표시되는 다중 보기를 선택할 수 있습니다. 선택은 애플리케이션에 따라 달라집니다. 예를 들어 병렬 편집이 필요한 경우 다중 보기를 선택합니다. 각 보기는 RDT(문서 테이블)를 실행하는 IDE(통합 개발 환경)의 항목과 연결됩니다. 보기 창은 프로젝트 또는 IVsHierarchy 개체에 속합니다.

편집기에서 문서 데이터 개체의 다중 보기를 지원하는 경우 문서 데이터와 문서 보기 개체는 분리되어야 합니다. 그렇지 않은 경우에는 함께 그룹화할 수 있습니다. 자세한 내용은 여러 문서 보기 지원을 참조하세요.

IDE는 실행 중인 문서 테이블에 있는 각 항목의 항목 식별자(ItemID)를 일치시켜 보기에 이벤트(예: 문서가 포함된 솔루션이 닫힌 경우)를 알립니다. 자세한 내용은 실행 중인 문서 테이블을 참조하세요.

사용자 지정 편집기용 보기를 만드는 데는 두 가지 옵션이 있습니다. 하나는 보기가 ActiveX 컨트롤 또는 문서 데이터 개체를 사용하여 창에서 호스트되는 현재 위치 활성화 모델입니다. 두 번째는 보기가 Visual Studio에서 호스트되고 창 명령을 처리하도록 IVsWindowPane이 구현되는 간단한 포함 모델입니다. 현재 위치 활성화 모델에 대한 자세한 내용은 현재 위치 활성화를 참조하세요. 간단한 포함 모델에 대한 자세한 내용은 간단한 포함을 참조하세요.