설계는 바인딩의 일반 스타일이나 주제를 나타내는 데 사용됩니다. 예를 들어, Workbench는 "기본" 설계와 "Emacs" 설계를 제공합니다. 지정된 시간에 하나의 설계만 활성화됩니다. 일반 사용자는 일반 환경 설정 대화 상자를 사용하여 활성화되는 키 구성을 제어합니다.
구현 관점에서 설계는 단순히 이름 지정된 바인딩 그룹화입니다. 설계는 연관된 바인딩이 있는 경우를 제외하고 단독으로는 아무 것도 수행하지 않습니다.
바인딩 정의 및 설계가 바인딩과 연관되는 방법을 찾을 수 있도록 org.eclipse.ui.bindings에 대한 Workbench 마크업을 다시 살펴봅시다.
... <key sequence="Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"> </key> ... <key sequence="Ctrl+X Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.emacsAcceleratorConfiguration"> </key> ...
"org.eclipse.ui.file.save" 명령에 정의된 두 개의 키 바인딩이 있습니다. 각 바인딩마다 다른 schemeId가 정의되어 있음에 유의하십시오. 기본 설계가 활성 상태일 때 "Ctrl+S" 키 바인딩은 명령을 호출합니다. emacs 설계가 활성 상태일 때 순서 "Ctrl+X Ctrl+S"는 명령을 호출합니다.
플러그인이 바인딩을 정의할 때 대개 기존 설계에 바인딩을 지정하는 경우가 많습니다. 그러나 플러그인은 완전히 새로운 스타일의 설계를 정의할 수도 있습니다. 이런 경우, org.eclipse.ui.bindings 정의 내에 새로운 유형의 설계를 정의할 수 있습니다. 기본 및 emacs 키 구성을 정의하는 Workbench 마크업은 아래에 표시되어 있습니다.
... <scheme name="%keyConfiguration.default.name" description="%keyConfiguration.default.description" id="org.eclipse.ui.defaultAcceleratorConfiguration"> </scheme> <scheme name="%keyConfiguration.emacs.name" parentId="org.eclipse.ui.defaultAcceleratorConfiguration" description="%keyConfiguration.emacs.description" id="org.eclipse.ui.emacsAcceleratorConfiguration"> </scheme> ...
여기서 정의된 이름은 설계 목록의 환경 설정 페이지에서 사용되는 이름임에 유의하십시오.
사용자는 환경 설정 페이지를 통해 활성 설계를 제어합니다. 그러나 기본 활성 계획을 "plugin_customization.ini" 파일의 일부로 정의할 수 있습니다. 다음은 환경설정입니다.
org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration