키보드의 기능은 Eclipse에서 광범위하게 사용자 정의할 수 있습니다. Eclipse 내에서는 특정 명령을 호출하기 위해 키 스트로크 및 키 시퀀스가 지정됩니다.
&osq;키 스트로크'는 선택적으로 하나 이상의 수정자 Ctrl
, Alt
(Macintosh에서는 Option
),
Shift
또는 Command
(Macintosh에서만 해당)를
누른 상태에서 키보드의 키를 누르는 것을 말합니다. 예를 들어, Ctrl
을 누른 상태에서
A
를 누르면 키 스트로크 Ctrl+A
가 생성됩니다. 수정자 키 자체를 누르는 것으로는
키 스트로크가 구성되지 않습니다.
&osq;키 순서'는 하나 이상의 키 스트로크입니다. 일반적으로 Emacs는
특정 명령에 두 개 또는 세 개의 키 스트로크 키 시퀀스를 지정했습니다. 예를 들어, emacs에서 모두 닫기
에 지정된
일반적인 키 순서는 Ctrl+X Ctrl+C
입니다.
이 키 순서를 입력하려면, 키 스트로크 Ctrl+X
를
한 번 누른 다음 키 스트로크 Ctrl+C
를 누릅니다.
Eclipse에서 임의 길이에 대한 키 순서를 지원하는 반면 단축 키는 길이가 네 개(또는 이하)의
키 스트로크가 되도록 권장합니다.
&osq;키 바인딩'은 명령에 키 순서를 지정하는 것입니다.
&osq;설계'는 바인딩 세트입니다. Eclipse에는 두 가지의 설계가 포함되어 있습니다.
기본값 설계에는 대부분의 경우 사용자가 기존의 키 시퀀스로 인식할 수 있는
일반 바인딩 세트가 있습니다. 예를 들어, Ctrl+A
는 모두 선택
에,
Ctrl+S
는 저장
에 지정됩니다.
Emacs 설계에는 Emacs 사용자에게 익숙한 키 바인딩 세트가 있습니다.
예를 들어, Ctrl+X H
는 모두 선택
에,
Ctrl+X S
는 저장
에 지정됩니다.
Emacs 설계를 '기본값 확장'으로 지칭하는 이유를 이해해야 합니다. Emacs 설계는
기본값 설계와 같이 완전한 바인딩 세트가 아닙니다. 오히려, 가능하면 기본값
설계에서 가져오며 기본값 설계와 다른 명시적 emacs 스타일 바인딩을 정의만 합니다. 일반적으로
모두 선택
, 저장
등과 같이 잘 알려진 명령에만 연관된 특정 Emacs 키 순서가 있습니다.
사용자는 키 환경 설정 페이지에서 '설계' 설정을 변경하여 가장 편안한 설계를 결정합니다. 사용자가 기본값 설계를 선택할 경우 모든 Emacs 바인딩이 무시됩니다. 사용자가 Emacs 설계를 선택할 경우 명시적인 Emacs 스타일 키 시퀀스 지정이 기본값 설계에서 충돌하는 키 시퀀스 지정보다 우선합니다.
키 바인딩은 Eclipse의 현재 컨텍스트에 따라 다를 수 있습니다.
간혹 활성 파트가 Java 파일 편집기가 될 수도 있습니다. 예를 들어, 활성 파트가 HTML 파일
편집기였던 경우보다 여러 가지의 키 순서 세트 지정이 더 적절할 수도 있습니다. 특별한 경우로
예를 들면, 일반적으로 Ctrl+B
는 Java 파일 편집과 같은 컨텍스테에서 빌드
에
지정되는 반면, HTML 파일 편집과 같은 컨텍스트에서는 Ctrl+B
가 텍스트 굵게
에
지정됩니다. 이 컨텍스트는 보통 활성 파트에서 결정되지만 활성 창 또는
대화 상자로부터 영향을 받을 수 있습니다. 활성 파트가 특정 컨텍스트를 선택하지 않을 경우 Workbench는
활성 컨텍스트를 창에로 설정합니다.
Eclipse에는 9개의 다른 컨텍스트가 포함되어 있습니다. 네 개의 보기는 다음과 같습니다.
구성처럼 컨텍스트는 다른 컨텍스트를 확장할 수 있습니다. 예를 들어, Java 소스 편집 컨텍스트는 텍스트 편집 컨텍스트에서 키 바인딩을 가져오고, 텍스트 편집은 다시 창에 컨텍스트에서 키 바인딩을 가져옵니다.
참고: 확장하는 컨텍스트로 키 바인딩을 승격하지 않는 것이 좋습니다. 예를 들어, 대화 상자 및 창에서 컨텍스트로 텍스트 편집 키 바인딩을 이동하지 않는 것이 좋습니다. 여기에서 예상하지 못한 결과가 발생할 수 있습니다.
일부 키 바인딩이 대화 상자에서 작동할 수 있습니다. 해당 키 바인딩은 대화 상자 및 창에서 컨텍스트로 지정됩니다. 해당 키 바인딩의 한 예는 "잘라내기"에 대한 키 바인딩입니다. 이 키 바인딩은 변경할 수 있습니다. 예를 들어, 대화 상자에서 Ctrl+X를 잘라내기로 지정할 수 있지만 창에서 Ctrl+W를 잘라내기로 지정할 수 없습니다.
키 바인딩은 또한 플랫폼 및 로케일마다 다릅니다. Macintosh 플랫폼에서는 일반적인
Ctrl+S
대신 Command+S
가 저장
에 지정되고,
중국어 로케일(zh)에서는 일반적인 Ctrl+Space
대신 Alt+/
가
컨텐츠 지원
에 지정됩니다.
현재 플랫폼 및 로케일은 Eclipse가 시작할 때 판별되며 Eclipse 인스턴스 과정을 거치는 동안 달라지지 않습니다.
여러 개의 스트로크 키 시퀀스, 설계 및 컨텍스트와 관련하여 키 바인딩을 사용자 정의할 때 염두해야 할 여러 가지 사항이 있습니다. 쉽게 진행하려면 모든 키 사용자 정의를 키 환경 설정 페이지에서 수행합니다.
키 환경 설정 페이지에서 창 > 환경 설정 > 일반 > 키를 선택하십시오.
이 예제에서는 설계로 Emacs를 선택하고 명령
목록에서 닫기
명령을 선택했습니다. 현재 키 바인딩과 함께 해당 명령에 관한 정보가 표시됩니다.
닫기
에는 세 가지의 키 시퀀스가 지정되었습니다. 기본값 설계에서는
Ctrl+F4
와 Ctrl+W
가, Emacs 설계에서는 Ctrl+X K
가 지정되었습니다. 두 가지의 키 순서는
창에 콘텍스트에 지정됩니다. 따라서 사용자가 설계를 기본값으로 설정하면
Ctrl+F4
및 Ctrl+W
는 닫기
에 지정되지만 Ctrl+X K
는 지정되지 않습니다.
사용자가 설계를 Emacs로 설정하려면 Ctrl+X K
가 닫기
에 지정됩니다. 게다가 Emacs 설계는 기본값 설계에서
키 바인딩을 가져오므로 이 키 바인딩이 Emacs 설계에서 다른 명령에 지정되지 않은 경우에는 Ctrl+F4
및 Ctrl+W
도 닫기
에 지정됩니다. 이 예제에서 "Ctrl+W"는 Emacs 설계에서
잘라내기
로 바인드됩니다.
아래에 닫기
에 지정된 키 순서 목록이 있습니다.
키 바인딩을 추가 또는 제거할 위치가 있습니다. 기본적으로 컨텍스트를 창에로 선택합니다.
키 순서 Ctrl+W
를 입력하면 &osq;추가' 단추가
사용 가능하게 됩니다. 또한 키 순서
Ctrl+W
가 이미 지정된 모든 명령 목록이 추가
단추 아래에 표시됩니다. Ctrl+W
는 현재 창 및 대화 상자에서 컨텍스에서
잘라내기
명령에 지정되어 있음을 확인할 수 있습니다. &osq;추가' 단추를 클릭하여 Ctrl+W
를 닫기
에 지정합니다.
키 바인딩은 플러그인에 의해 제공되며, Eclipse에서 플러그인을
추가 또는 제거할 수 있습니다. 이로써 플러그인이 선언한 키 바인딩을 추가 또는
제거할 수 있습니다. Eclipse는 이러한 사항을 자동으로 보상하기 위해 사용자 정의 키 바인딩을 저장합니다. Emacs 설계에서 Ctrl+Alt+W
가
잘라내기
에 지정된 위의 예제를 고려해 보십시오. Ctrl+Alt+W
를
특정 명령에 지정하는 새 플러그인을
설치합니다. Eclipse는 사용자의 잘라내기
에 대한 지정을 보존합니다.
여러 명령에 지정하는 데 사용할 수 있는 간단한 공통 키 스트로크 수는
한정되어 있습니다. 설계, 컨텍스트, 플랫폼 및 로케일 모두가 서로 충돌하지 않는 도메인으로
키 시퀀스 지정을 분할하는 것을 확인했습니다. 컨텍스트가 존재하지 않는 경우 Ctrl+B
경우를 고려해 보십시오. 하나의 플러그인이 Ctrl+B
를
빌드
에 지정하고, 또 다른 플러그인이 Ctrl+B
를
텍스트 굵게
에 지정합니다. Eclipse는 이러한 충돌을 어떻게 적절히 해결합니까?
위의 메커니즘을 사용하여 충돌을 급격히 줄일 수 있지만,
충돌은 여전히 발생할 수 있습니다. 서로 독립적인 두 개의 플러그인은 같은 키 시퀀스를 컨텍스트, 설계,
플랫폼 및 로케일이 같은 서로 다른 명령에 지정할 수 있습니다. 플러그인이 Windows에서 컨텍스트와
기본값 설계에서 해당 명령 중 하나에 Ctrl+F4
를 지정한 경우를 고려해 보십시오. 그러면 같은 컨텍스트 및 설계에서
닫기 명령에 Ctrl+F4
를 지정하는 Eclipse와 직접 충돌합니다.
이것은 충돌입니다. 이는 두 명령 모드를 호출하는 데 적절하지 않으며
키 스트로크를 수신할 두 명령 중 하나만 선택하기에도 적절하지
않습니다. 한가지 적절한 방법은 두 개의 키 바인딩을 모두 무시하여 해당 컨텍스트 및 설계에서 Ctrl+F4
를 사용할 수 없게 하는 것입니다.
이러한 유형의 충돌은 사용자가 명령 중 하나에 명시적으로 키 순서를 지정하여 해결할 수 있습니다.
또 다른 유형의 충돌은 다중 키 스트로크 키 순서에 의해
발생할 수 있습니다. 예를 들어 Emacs 설계에는 키 스트로크 Ctrl+X
로 시작하는 여러 개의 다중 키 스트로크 키 시퀀스가 있습니다. Ctrl+X K
는 닫기
에 지정됩니다. Ctrl+X H
는 모두 선택
에 지정됩니다.
이전에 언급한 대로 Emacs 설계는 기본 설계에서 키 바인딩을 가져옵니다. 기본 설계에서는 Ctrl+X
가 잘라내기
에 지정됩니다. Emacs 설계는 명시적으로 Ctrl+X
를 재정의하지 않지만, 키 바인딩의 여러 파트로 Ctrl+X
를 눌러야 합니다. Emacs 설계에서 Ctrl+X
를 누르면, 지정된 여러 가능한 키 시퀀스 중 하나를 입력하는 것의 반을 수행한 것입니다. 이 때 잘라내기
조치가 호출될 것으로 예상되지 않습니다.
이러한 유형의 충돌이 있을 경우, 규칙은 잘라내기
에 지정된 Ctrl+X
키 시퀀스를 무시하는 것입니다. 그렇지 않으면 Emacs 구성에서 여러 키 바인딩을 완료할 수 없습니다.