0
내 RCP 앱의 특정 시점에서 F5, Shift + F5, Ctrl + N, Ctrl + P와 같은 단축키를 사용하여 시작, 중지, 다음, 이전 등을 제공하고 싶습니다. 이것들은 이미 표준 체계에 정의되어 있으며, 표준 액션을 오버라이드하고 싶습니다.런타임시 키 바인딩을 활성화하는 방법은 무엇입니까?
런타임에 활성 키 바인딩 체계를 전환 할 수 있습니까?
내 RCP 앱의 특정 시점에서 F5, Shift + F5, Ctrl + N, Ctrl + P와 같은 단축키를 사용하여 시작, 중지, 다음, 이전 등을 제공하고 싶습니다. 이것들은 이미 표준 체계에 정의되어 있으며, 표준 액션을 오버라이드하고 싶습니다.런타임시 키 바인딩을 활성화하는 방법은 무엇입니까?
런타임에 활성 키 바인딩 체계를 전환 할 수 있습니까?
org.eclipse.ui.contexts
확장 점을 사용하여 키 바인딩에 대한 새로운 '컨텍스트'를 정의한 다음 해당 컨텍스트에서 키 바인딩을 선언 할 수 있습니다.
<extension
point="org.eclipse.ui.contexts">
<context
name="%context.editingAnt.name"
description="%context.editingAnt.description"
parentId="org.eclipse.ui.textEditorScope"
id="org.eclipse.ant.ui.AntEditorScope">
</context>
</extension>
그 맥락에서 키 바인딩을 선언 : 앤트 편집기 컨텍스트 org.eclipse.ant.ui.AntEditorScope
를 선언 예를 들어
<extension point="org.eclipse.ui.bindings">
<key
sequence="M1+M2+F"
contextId="org.eclipse.ant.ui.AntEditorScope"
commandId="org.eclipse.jdt.ui.edit.text.java.format"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
당신이 그것을 활성화해야합니다 컨텍스트를 사용합니다. TextEditor
재정 initializeKeyBindingScopes
을 확장하는 편집기에서 :
@Override
protected void initializeKeyBindingScopes() {
setKeyBindingScopes(new String[] { "org.eclipse.ant.ui.AntEditorScope" });
}
는 다른 곳
IContextService
서비스
activateContext
방법을 사용합니다.