2013-08-29 32 views
1

我已經將內容輔助提議計算機實現爲eclipse插件(使用org.eclipse.jdt.ui.javaCompletionProposalComputer)。我現在想將它綁定到它自己的組合鍵(否則自定義提議出現在提案列表的底部)。自定義Eclipse內容助手的鍵綁定

我試圖通過擴展org.eclipse.ui.bindings來做到這一點,但這需要定義org.eclipse.ui.commandshandler,以及可能更多的東西。

似乎已經爲我的自定義內容輔助計算機創建了一個命令,因爲它出現在密鑰綁定菜單下(在Windows->Preferences->Keys),但我不知道該命令的標識是什麼。如果該命令是在運行時創建的,那麼我可以在我的plugin.xml中引用commandId嗎?

是否有另一種更簡單的方法呢?

回答

3

與實現此的許多不同的方式進行實驗後,我發現:

1)與定製完成建議的計算機相關聯的命令是org.eclipse.jdt.ui.specific_content_assist.command,並且它是在org.eclipse.jdt.ui插件的plugin.xml定義(Eclipse提供) 。

2)這是一個參數化命令,這意味着它需要一個帶有id=org.eclipse.jdt.ui.specific_content_assist.category_id的commandParameter。該參數的值應該是javaCompletionProposalComputerproposalCategory的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> 

不需要定義一個新的命令或處理程序!