치트 시트는 전체 목적을 달성하기 위한 일련의 복잡한 타스크를 사용자에게 안내하는 특수 보기입니다. 예를 들어, 치트 시트를 사용하여 단순 Java 프로그램을 작성, 컴파일 및 실행하는 데 필요한 모든 단계를 사용자에게 안내할 수 있습니다. 치트 시트는 도움말>치트 시트... 메뉴 항목에서 실행됩니다. 소개 페이지에서도 치트 시트를 실행할 수 있습니다.
치트 시트는 org.eclipse.ui.cheatsheets.cheatSheetContent 확장점을 사용하여 정의합니다. 치트 시트 컨텐츠 자체는 별개의 파일에서 정의되므로 다른 언어로 쉽게 변환할 수 있습니다.
치트 시트 제공은 간단합니다. 단순 Java 응용프로그램을 빌드하기 위한 JDT에서 제공하는 치트 시트를 살펴봅니다.
<extension point="org.eclipse.ui.cheatsheets.cheatSheetContent"> <cheatsheet name="%cheatsheet.helloworld.name" contentFile="$nl$/cheatsheets/HelloWorld.xml" id="org.eclipse.jdt.helloworld"> <description>%cheatsheet.helloworld.desc</description> </cheatsheet> ...다른 Workbench 지시문과 마찬가지로 치트 시트에 대해 이름, 설명 및 ID를 지정할 수 있습니다. 사용자가 도움말>치트 시트... 목록에 액세스할 때 이름 및 설명이 표시됩니다. 몇 개의 치트 시트를 논리적인 그룹화에 배치하려는 경우에도 치트 시트의 카테고리를 정의할 수 있습니다. 카테고리가 지정되지 않는 경우 치트 시트가 기타 카테고리에 표시됩니다.
치트 시트의 실제 작업은 컨텐츠 파일에서 완료됩니다. 컨텐츠 파일은 contentFile 속성에서 이름과 위치가 지정된 XML 파일입니다. 파일 경로는 플러그인 디렉토리에 상대적입니다. (디렉토리 이름에 $nl$ 변수가 사용되었습니다. 이는 파일이 대상 환경의 자국어에 고유한 디렉토리에 있다는 의미입니다.)
파일 형식 자체에는 치트 시트에 대한 개요 정보 및 사용자가 수행하는 각 단계(항목이라 함)에 대한 설명이 포함됩니다. 가장 간단한 항목은 사용자가 취해야 할 단계에 대한 상세한 설명입니다. 그러나 항목은 사용자 대신 단계를 수행할 수 있는 조치를 지정할 수도 있습니다. Java 치트 시트에 대한 컨텐츠 파일(HelloWorld.xml)의 첫 번째 부분을 살펴봅니다.
<?xml version="1.0" encoding="UTF-8" ?> <cheatsheet title="Simple Java Application"> <intro href="/org.eclipse.ui.cheatsheets.doc/tasks/tcheatst.htm"> <description> Hello, World Java 학습서입니다. 이 학습서는 "Hello World" 응용프로그램을 빌드하고 시험하는 데 도움을 줍니다. 사용자는 Java 프로젝트 및 실행 시 콘솔에 "hellow world"를 인쇄하는 Java 클래스를 작성합니다. 시작합니다! </description> </intro> <item href="/org.eclipse.platform.doc.user/concepts/concepts-4.htm" title="Open the Java Perspective"> <action pluginId="org.eclipse.ui.cheatsheets" class="org.eclipse.ui.internal.cheatsheets.actions.OpenPerspective" param1="org.eclipse.jdt.ui.JavaPerspective"/> <description> Workbench 맨 위의 메뉴 표시줄에서 창->Perspective 열기->Java를 선택하십시오. 이 단계는 Java 개발을 위해 Eclipse Workbench를 설정하도록 Perspective를 변경합니다. "클릭하여 수행" 단추를 클릭하여 "Java" Perspective가 자동으로 열리도록 할 수 있습니다. </description> </item> ...
제목과 소개 정보가 치트 시트 맨 위에 표시됩니다. 다음으로 항목이 설명됩니다. 이 치트 시트의 첫 번째 항목은 Java Perspective를 여는 방법에 대해 설명합니다. 조치 속성은 사용자 대신 조치를 실행하는 데 사용할 수 있는 클래스를 지정합니다. 클래스는 IAction을 구현해야 합니다. 이는 메뉴 또는 도구 모음 지시문에 작성된 조치 클래스를 재사용할 수 있으므로 보다 편리합니다.
조치에서 매개변수를 사용하거나 치트 시트 및 그 상태를 인식해야 하는 경우, 조치 클래스는 선택적으로 ICheatSheetAction을 구현할 수 있습니다. 이 경우, 조치가 매개변수 및 참조의 배열을 ICheatSheetManager로 전달하므로 치트 시트에 대한 추가 정보를 요청할 수 있습니다. 필수 매개변수는 paramN 속성을 사용하는 조치의 실행 메소드로 전달될 수 있습니다.
조치 실행에 실패하는 경우, 치트 시트에서 호출된 조치가 성공/실패 결과를 보고하는 것이 좋습니다. (예: 사용자는 대화 상자에서 조치를 취소할 수 있습니다.) 자세한 정보는 IAction.notifyResult(boolean)를 참조하십시오.
항목은 조치를 정의할 필요가 없습니다. 항목을 사용자가 직접 수행해야 하는 경우 조치를 지정할 필요가 없습니다. 다음은 사용자에게 단순 응용프로그램을 코딩하는 방법을 지시하는 Java 치트 시트의 세 번째 단계입니다. 조치가 지정되지 않은 경우, 항목 설명에서는 사용자에게 타스크가 완료된 후 해당 단추를 누르도록 지시해야 합니다.
<item href="/org.eclipse.jdt.doc.user/tasks/tasks-54.htm" title="Add a System.out.println line in your main method"> <description> HelloWorld 클래스를 갖게 됩니다. "public static void main" 메소드에서 명령문: System.out.println("Hello world!")을 추가하고 변경사항을 저장하십시오. 완료되면 아래의 "완료 시 클릭" 단추를 누르십시오. </description> </item>추가 속성은 항목을 완전히 건너뛸 수 있는지 여부와 단계 동안 사용자가 도움말을 요청하는 경우 실행해야 할 문서를 제어합니다. 치트 시트에서 정의할 수 있는 모든 속성에 대한 설명은 org.eclipse.ui.cheatsheets.cheatSheetContent 확장점 문서를 참조하십시오.
항목의 프리젠테이션을 추가로 구성하기 위해 하위 항목을 정의할 수 있습니다. 항목과 달리 하위 항목은 특정 순서로 방문하지 않아도 됩니다. 하위 항목은 사용자를 위해 서브 타스크를 자동으로 수행하는 조치를 정의할 수도 있습니다. 하위 항목 조치는 항목 조치와 동일한 방법으로 설명됩니다.
조건식을 사용하여 컨텐츠나 작동이 true인 특정 조건을 기준으로 하는 치트 시트 요소를 정의할 수 있습니다. 조건은 각 선택사항에 대해 when 속성에 일치하는 임의의 문자열 값을 사용하는 하위 항목의 condition 요소에서 설명됩니다. 조건은 일반적으로 ${var} 양식을 사용하는 치트 시트 변수를 참조합니다. 여기서 var은 치트 시트 변수의 이름입니다. 몇 가지 단순 예제는 조건식이 작동하는 방법을 설명합니다.
조건부 하위 항목을 사용하여 가능한 하위 항목의 목록에서 하나의 하위 항목을 선택할 수 있습니다. when 속성이 조건 속성과 일치하는 첫 번째 하위 항목만 치트 시트에 포함됩니다. 예를 들어,
<item ...> <conditional-subitem condition="${v1}"> <subitem when="a" label="Step for A." /> <subitem when="b" label="Step for B." /> </conditional-subitem> </item>이 항목은 v1 변수의 값을 기준으로 하는 두 개의 가능한 하위 항목을 지정합니다. 변수값이 a인 경우 첫 번째 하위 항목이 포함됩니다. 변수값이 b이면 두 번째 하위 항목이 포함됩니다. 변수가 이 두 값이 아니면 오류로 간주됩니다.
조건부 조치는 조건부 하위 항목과 유사합니다. perform-when 요소는 가능한 조치 목록에서 하나의 조치를 수행하는 조건을 지정합니다. 조건은 동일한 방법으로 설명되며 변수를 자주 참조하는 임의의 문자열을 사용합니다. when 속성이 조건과 일치하는 조치가 수행됩니다. 예를 들어,
<item ...> <perform-when condition="${v1}"> <action when="a" class="com.example.actionA" pluginId-"com.example" /> <action when="b" class="com.example.actionB" pluginId-"com.example" /> </perform-when> </item>수행할 조치는 v1 변수의 값을 기준으로 선택됩니다. 변수값이 a 또는 b가 아닌 경우 오류로 간주됩니다.
반복된 하위 항목은 0, 1 또는 유사한 추가 하위 단계로 확장할 수 있는 하위 항목을 설명합니다. 하위 단계는 특수 변수 ${this}를 사용하여 개별화됩니다. 이 변수는 values 속성에서 지정된 값으로 대체됩니다. 값 속성은 쉼표로 구분되는 값의 문자열입니다. 값 목록으로 펼쳐지는 변수는 값 속성에서 사용될 수 있습니다. 예를 들어,
<item ...> <repeated-subitem values="${v1}"> <subitem label="Step ${this}" /> </repeated-subitem> </item>변수값이 1,b,three인 경우 세 개의 하위 항목이 각각의 고유 레이블(("단계 1,""단계 b," "단계 three")을 갖는 치트 시트에 표시됩니다. 이 변수는 레이블이나 조치 매개변수 값에서 사용될 수 있습니다. 조치가 실행 중인 경우 ICheatSheetManager에서 액세스할 수도 있습니다.
치트 시트가 활성화되면 다른 UI 부분을 변경할 수도 있습니다. 예를 들어, 치트 시트가 사용자에게 편집 중인 타스크를 안내하는 경우 특수 어노테이션을 표시하는 편집기가 있을 수 있습니다. 이 경우 리스너가 치트 시트의 속성으로 지정될 수 있습니다. 리스너 속성은 CheatSheetListener 서브클래스를 포함하는 Java 클래스의 완전한 이름이어야 합니다. 리스너는 열리거나 닫히거나 완료되는 경우 등 치트 시트의 라이프 사이클에 변경사항이 있는 경우 ICheatSheetEvent와 함께 알림을 수신합니다.
org.eclipse.ui.cheatsheets.cheatSheetItemExtension 확장을 사용하여 임의의 속성을 기존 치트 시트로 제공할 수 있습니다. 이 확장점의 용도는 플러그인이 해당 단계에 대해 사용자를 보조하는 단추를 추가할 수 있도록 하는 것입니다. 추가 단추는 도움말 아이콘 옆에 표시됩니다.
이 메커니즘을 사용하려면 치트 시트 XML 파일의 항목 정의에서 임의의 속성을 정의할 수 있습니다. 속성 이름은 org.eclipse.ui.cheatsheets.cheatSheetItemExtension에 대한 확장에서 제공된 속성에 대해 일치합니다. 자세한 정보는 확장점 문서를 참조하십시오.