예제 - Java 편집기

소개

Java 편집기 예제는 사용자 정의 문서 편집기에 사용 가능한 표준 기능을 보여줍니다.   또한 파일 확장자(이 경우 .jav)에 해당되는  편집기를 등록하는 방법과 해당 편집기에서 사용하도록 사용자 정의 문서 제공자를 정의하는 방법을 보여줍니다. 이 예제는 단지 설명을 위한 것입니다. Java 편집 지원은  Eclipse Java Tooling에서 제공됩니다.

이 예제의 코드는 org.eclipse.ui.examples.javaeditor 플러그인에 있습니다. 코드를 탐색하려면 해당 플러그인을 작업공간으로 가져오는 것이 좋습니다.

예제 편집기에 설명된 기능

설명되지 않은 기능

예제 Java 편집기 실행

  1. 프로젝트를 작성하십시오.
  2. 새로 작성된 프로젝트에서 파일 확장자가 ".jav"인 파일을 작성하십시오. Java 예제 편집기는 자동으로 열립니다.
  3. Java 코드를 삽입하십시오. Java 코드는 동적으로 채색됩니다. 예제 편집기는 다중 행 설명, 단일 행 설명, Java 언어 예약어, 문자열 및 문자 상수, 일반 Java 코드, Javadoc 지침을 따르는 다중 행 설명과 같은 언어 요소를 서로 다른 색상으로 표시합니다. Javadoc 설명 안에서 Javadoc 키워드(녹색) 및 HTML 태그(회색)는 다르게 채색됩니다.
  4. Java 설명 밖에 "/*"를 삽입하여 새로운 Java 다중 행 설명을 여십시오. 삽입된 "/*"와 "*/"의 첫 번째 발생이나 텍스트 끝 사이의 모든 텍스트는 색상이 빨간색으로 변경됩니다. 다른 "*"를 추가하십시오. 일반적인 다중 행 설명은 이제 Javadoc를 포함하는 것으로 고려되므로 빨간색 범위는 검은색으로 변경됩니다. CTRL-SPACE를 사용하여 코드 지원을 호출하십시오. 컨텐츠 지원의 기능은 코드 작성 시 사용자를 지원하는 것입니다. 따라서 호출 시 컨텐츠 지원은 호출 위치에서 가능한 모든 올바른 완료사항을 나열해야 합니다. Javadoc 내에서, 예제 편집기는 항상 모든 Javadoc 키워드를 제안합니다.
  5. Java 설명 밖에서 CTRL+SHIFT+SPACE를 사용하여 컨텐츠 팁을 호출하십시오. 5개의 제안이 나열됩니다. 하나를 선택하고 ENTER를 누르십시오. 현재 행 위에 선택된 제안을 표시하는 빨간색의 작은 부동 창이 표시됩니다. 컨텐츠 팁은 사용자가 자신의 목적(예: 메소드 호출 입력)을 표시한 후 목적 수행 시 사용자를 안내하는 문맥 정보를 제시하는 데 사용됩니다. 예제 편집기에서, 제안은 초기 호출 위치 주변에서 올바른 5개의 문자로 간주됩니다. 컨텐츠 팁을 볼 수 있는 동안 CTRL+SPACE를 사용하여 컨텐츠 지원를 호출하십시오. 이 상황에서 호출되는 컨텐츠 지원은 사용자가 컨텐츠 팁에서 계속 볼 수 있는 언급된 목적을 수행할 수 있도록 도움을 제공해야 합니다. 일반적인 Java 코드 내에서, 예제 편집기는 항상 모든 Java 키워드를 제안합니다.
  6. Java 코드를 저장하십시오. 저장하면 컨텐츠 아웃라이너가 갱신됩니다. 컨텐츠 아웃라이너에는 편집기에서 크기가 동일하게 지정된 10개의 Java 코드 세그먼트 중 하나를 각각 표시하는 10개의 항목이 있습니다. 이 스타일의 컨텐츠 아웃라인은 강조 범위의 시맨틱이 임의로 정의될 수 있음을 보여주기 위해 선택되었습니다. (다음 단계를 참조하십시오.)
  7. 컨텐츠 아웃라이너에서 항목 중 하나를 선택하십시오. 해당되는 행은 편집기의 왼쪽 세로 눈금자에 빠란색 막대가 표시됩니다.
  8. 이제 Java 편집기의 세그먼트화된 프리젠테이션 모드로 전환하십시오. 편집기에 초점이 있는지 확인하고 데스크탑 도구 모음에서 "세그먼트화된 소스 표시기 사용/사용 안함" 풍선 도움말이 표시되는 단추를 누르십시오.   이 기능은 단일 메소드 보기 및 유사한 기능에 사용됩니다.
  9. 컨텐츠 아웃라이너에서 다른 항목을 선택하십시오. 이제 편집기는 선택된 세그먼트만 표시합니다. 컨텐츠 아웃라이너에서 항목 선택을 취소하면 다시 전체 Java 코드가 표시됩니다.
  10. 컨텐츠 아웃라이너에서 항목을 선택하고 표시 가능한 텍스트의 부분을 선택한 후 선택에 해당되는 타스크를 추가하십시오. 타스크는 타스크 목록에 표시됩니다. 표시 가능한 코드를 수정하십시오. 타스크 목록에서 이전에 작성한 타스크를 선택한 후 "파일로 이동" 단추를 누르십시오. 타스크는 표시 가능 영역에서 선택되며 이전에 적용된 수정사항이 정확히 고려됩니다.
  11. 컨텐츠 아웃라이너에서 다른 항목을 선택하십시오. 타스크 목록에서 이전에 추가한 타스크를 표시하십시오. 편집기의 강조 범위는 표시된 타스크 범위를 포함하도록 자동으로 확장됩니다.
  12. 새 작업공간을 여십시오. 새 작업공간에서, 원래 작업공간에서와 같은 파일에 대해 Java 편집기를 여십시오. 편집기 컨텐츠를 수정하십시오. 다시 원래 작업공간으로 전환하십시오. 편집기는 다른 작업공간에서 수행된 변경사항을 표시합니다. 동일 파일을 표시하는 두 개의 편집기는 링크됩니다.

사용자 정의 문서 편집기 작성에 관한 프린시펄

다음 단계는 일반적으로 사용자 정의 텍스트 편집기를 개발하는 데 필요합니다.
  1. 문서 제공자를 작성하십시오. 문서 제공자(IDocumentProvider 참조)는 편집기 입력 요소의 텍스트 표시를 포함하는 문서(IDocument 참조)를 생성하고 관리합니다. 요소와 텍스트 표시 사이의 변환을 수행해야 하는 방법과 여러 편집기 사이에 문서 제공자를 공유해야 하는지 여부를 결정하는 것은 중요합니다. Java 예제 편집기에서 FileDocumentProvider 클래스를 참조하십시오.
  2. 문서 분할자를 작성하십시오. 문서 분할자(IDocumentPartitioner 참조)는 문서를 별도의 영역으로 나눕니다. 분할자는 각 영역에 분할자가 사전 정의한 컨텐츠 유형 세트 중 하나의 컨텐츠 유형을 지정합니다. 각 문서가 변경될 때 문서의 분할을 갱신해야 합니다. Java 예제 편집기에서 JavaPartitioner 클래스를 참조하십시오. JavaPartitioner는 "다중 행 설명", "Javadoc 설명" 및 "이외의 다른 모든 것" 유형의 영역을 판별합니다. 문서 제공자가 생성한 문서마다 문서 제공자가 설정되어 있는지 확인해야 합니다.
  3. 제공해야 하는 소스 표시기 플러그인을 판별하십시오. 지원되는 다른 플러그인으로는 자동 들여쓰기 전략, 두 번 클릭 전략, 컨텐츠 포맷터 및 텍스트 프리젠테이션 조정자가 있습니다. 후속 설명은 텍스트 프리젠테이션 조정자(IPresentationReconciler 참조)로 제한됩니다. Java 예제 편집기애서, 텍스트 프리젠테이션 조정자는 구문 강조표시를 구현하는 데 활용됩니다.
  4. 지원되는 컨텐츠 유형마다 모든 소스 표시기 플러그인에 대해 적절한 확장을 작성하십시오. 위에 표시된 것처럼, 문서 분할자가 지원되는 컨텐츠 유형을 정의합니다. IPresentationReconciler의 기본 구현은 확장으로 IPresentationDamagers 및 IPresentationRepairers를 지원합니다. 이 확장은 특정 컨텐츠 유형에만 해당되는 것으로 간주됩니다. 따라서 사용자 정의 편집기의 경우, 사용자는 먼저 지원되는 컨텐츠 유형 서브세트를 선택해야 합니다. 선택된 서브세트에서 한 유형의 영역들은 예를 들어 구문이 강조표시됩니다. 각 유형마다 확장을 구현해야 합니다. 예제 편집기에서 JavaDamagerRepairer 및 JavaDocDamagerRepairer를 참조하십시오.
  5. 이전에 작성한 플러그인 및 확장을 사용하여 소스 표시기 구성을 빌드하십시오. 예제 편집기에서 JavaSourceViewerConfiguration을 참조하십시오.
  6. 개발된 문서 분할자와 소스 표시기 구성을 사용하여 TextEditor 또는 AbstractTextEditor 클래스를 사용자 정의하십시오. 조치를 추가하거나 바꾼 후 편집기의 컨텍스트 메뉴 구성을 채택하십시오. 실제 버전에서, 이 사용자 정의는 서브클래스에서 수행해야 합니다. 예제 편집기에서 JavaEditor를 참조하십시오.
  7. 편집기 관련 조치를 데스크탑 도구 모음 및 메뉴에 제공하는 적절한 조치 막대 제공자를 설정하십시오. 예제 편집기에서 JavaActionContributor를 참조하십시오.
  8. 편집기가 특정 파일 확장자 세트에 대해 사전 정의된 편집기 확장점에서 등록하도록 편집기 플러그인의 XML 구성 파일을 확장하십시오. 또한 XML 파일에서 조치 막대 제공자를 설정하십시오. 이 예제에서 plugin.xml을 참조하십시오.

예제의 코드 구성

Java 편집기 예제 코드는 네 개의 패키지로 구성됩니다.