2013-08-29 2 views
1

콘텐트 지원 제안 컴퓨터를 이클립스 플러그인 (org.eclipse.jdt.ui.javaCompletionProposalComputer 사용)으로 구현했습니다. 이제는 자체 키 조합으로 바인딩하고 싶습니다 (그렇지 않으면 맞춤 제안이 제안 목록의 맨 아래에 나타납니다).사용자 정의 Eclipse 컨텐츠 지원을위한 키 바인딩

org.eclipse.ui.bindings을 확장하여이 작업을 시도했지만이 경우 org.eclipse.ui.commands, handler 및 기타 항목을 정의해야합니다.

키 바인딩 메뉴 (Windows->Preferences->Keys) 아래에 표시되므로 사용자 지정 콘텐츠 지원 컴퓨터에 대해 이미 만들어진 명령이있는 것 같지만이 명령의 ID는 무엇인지 알 수 없습니다. 이 명령이 런타임에 생성되면 내 plugin.xml에서 commandId을 참조 할 수 있습니까?

더 간단한 방법이 있습니까?

1) 사용자 정의 완료 제안 컴퓨터와 관련된 명령은 org.eclipse.jdt.ui.specific_content_assist.command이며, 그것은() 일식에서 제공하는 org.eclipse.jdt.ui 플러그인의 plugin.xml에 정의되어

답변

3

이 구현하는 여러 가지 실험 후 나는 것을 발견 .

2) 이것은 매개 변수화 된 명령입니다. 즉, id=org.eclipse.jdt.ui.specific_content_assist.category_id 인 commandParameter를 사용합니다. 이 매개 변수의 값은 javaCompletionProposalComputer에 대한 proposalCategory의 ID 여야합니다.

<extension point="org.eclipse.ui.bindings"> 
    <key 
     sequence="CTRL+ALT+SPACE" 
     contextId="org.eclipse.ui.contexts.dialogAndWindow" 
     schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" 
     commandId="org.eclipse.jdt.ui.specific_content_assist.command"> 
     <parameter 
      id="org.eclipse.jdt.ui.specific_content_assist.category_id" 
      value="YOUR_PROPOSAL_CATEGORY_GOES_HERE"/> 
    </key> 
</extension> 

새 명령 또는 핸들러를 정의 할 필요가 없습니다 :

는 여기에 사용자 정의 키 바인딩을 정의하는 방법의 예입니다!

관련 문제