다음을 통해 공유


사용자 지정 편집기 및 디자이너 만들기

Visual Studio IDE(통합 개발 환경)는 여러 유형의 편집기를 호스트할 수 있습니다.

  • Visual Studio 핵심 편집기

  • 사용자 지정 편집기

  • 외부 편집기

  • 디자이너

다음 정보는 필요한 편집기 유형을 선택하는 데 도움이 됩니다.

편집기 유형

Visual Studio 핵심 편집기에 대한 자세한 내용은 편집기 및 언어 서비스 확장을 참조하세요.

사용자 지정 편집기

사용자 지정 편집기는 특수한 상황에서 작동하도록 설계된 편집기입니다. 예를 들어 Microsoft Exchange 서버와 같은 특정 리포지토리에 데이터 읽기 및 기능을 갖춘 편집기를 만들 수 있습니다. 프로젝트 유형에서만 작동하는 편집기를 원하거나 몇 가지 특정 명령만 있는 편집기를 원하는 경우 사용자 지정 편집기를 선택합니다. 그러나 사용자는 사용자 지정 편집기를 사용하여 표준 Visual Studio 프로젝트를 편집할 수 없습니다.

사용자 지정 편집기에서는 편집기 팩터리를 사용하고 편집기 정보를 레지스트리에 추가할 수 있습니다. 그러나 사용자 지정 편집기와 연결된 프로젝트 형식은 다른 방법으로 사용자 지정 편집기를 인스턴스화할 수 있습니다.

사용자 지정 편집기에서는 현재 위치 활성화 또는 간소화된 포함을 사용하여 보기를 구현할 수 있습니다.

외부 편집기

외부 편집기에서는 Microsoft Word, 메모장 또는 Microsoft FrontPage와 같이 Visual Studio에 통합되지 않은 편집기입니다. 예를 들어 VSPackage에서 텍스트를 전달하는 경우 이러한 편집기를 호출할 수 있습니다. 외부 편집기는 자체적으로 등록되며 Visual Studio 외부에서 사용할 수 있습니다. 외부 편집기를 호출하고 호스트 창에 포함할 수 있으면 IDE의 창에 나타납니다. 그렇지 않은 경우 IDE는 별도의 창을 만듭니다.

IsDocumentInProject 메서드는 VSDOCUMENTPRIORITY 열거형을 사용하여 문서 우선 순위를 설정합니다. DP_External 값을 지정하면 외부 편집기에서 파일을 열 수 있습니다.

편집기 디자인 결정

다음 디자인 질문은 애플리케이션에 가장 적합한 편집기 유형을 선택하는 데 도움이 됩니다.

  • 애플리케이션이 해당 데이터를 파일에 저장하나요? 해당 데이터를 파일에 저장하면 사용자 지정 형식이나 표준 형식인가요?

    표준 파일 형식을 사용하는 경우 프로젝트 외에도 다른 프로젝트 형식에서 데이터를 열어 읽고 쓸 수 있습니다. 그러나 사용자 지정 파일 형식을 사용하는 경우에는 프로젝트 형식만 데이터를 열어 읽고 쓸 수 있습니다.

    프로젝트에서 파일을 사용하는 경우 표준 편집기를 사용자 지정해야 합니다. 프로젝트에서 파일을 사용하지 않고 데이터베이스 또는 다른 리포지토리의 항목을 사용하는 경우 사용자 지정 편집기를 만들어야 합니다.

  • 편집기에서 ActiveX 컨트롤을 호스트해야 하나요?

    편집기가 ActiveX 컨트롤을 호스트하는 경우 현재 위치 활성화에 설명된 대로 현재 위치 활성화 편집기를 구현합니다. ActiveX 컨트롤을 호스트하지 않는 경우에는 간소화된 포함 편집기를 사용하거나 Visual Studio 기본 편집기를 사용자 지정합니다.

  • 편집기에서 여러 보기를 지원하나요? 편집기의 보기를 기본 편집기와 동시에 표시하려면 여러 보기를 지원해야 합니다.

    편집기에서 여러 보기를 지원해야 하는 경우 편집기용 문서 데이터 및 문서 보기 개체는 별도의 개체여야 합니다. 자세한 내용은 여러 문서 보기 지원을 참조하세요.

    편집기에서 여러 보기를 지원하는 경우 문서 데이터 개체에 Visual Studio 핵심 편집기 텍스트 버퍼 구현(VsTextBuffer 개체)을 사용할 계획인가요? 즉, Visual Studio 핵심 편집기에서 편집기 보기를 나란히 지원하시겠습니까? 이 작업을 수행하는 기능은 양식 디자이너의 기반입니다.

  • 외부 편집기를 호스트해야 하는 경우 편집기를 Visual Studio 내에 포함할 수 있나요?

    포함할 수 있는 경우 외부 편집기용 호스트 창을 만든 다음, IsDocumentInProject 메서드를 호출하고 VSDOCUMENTPRIORITY 열거형 값을 DP_External로 설정해야 합니다. 편집기를 포함할 수 없는 경우 IDE는 자동으로 별도의 창을 만듭니다.

섹션 내용

연습: 사용자 지정 편집기 만들기
사용자 지정 편집기를 만드는 방법을 설명합니다.

연습: 사용자 지정 편집기에 기능 추가
사용자 지정 편집기에 기능을 추가하는 방법을 설명합니다.

디자이너 초기화 및 메타데이터 구성
디자이너를 초기화하는 방법을 설명합니다.

디자이너에에 실행 취소 지원 제공
디자이너에 대한 실행 취소 지원을 제공하는 방법을 설명합니다.

사용자 지정 편집기의 구문 색 지정
핵심 편집기와 사용자 지정 편집기에서 구문 색 지정 간의 차이점을 설명합니다.

사용자 지정 편집기의 문서 데이터 및 문서 보기
사용자 지정 편집기에서 문서 데이터 및 문서 보기를 구현하는 방법을 설명합니다.