2013-07-13 38 views
5

我的工作王牌編輯器的實現按Ctrl +˚F的偉大工程,爲內置的「查找」對話框,但我試圖找到Ctrl + H for Ctrl + R並防止默認行爲。王牌編輯器 - 更改CTRL + H鍵聯結

我查看了關於使用鍵綁定的文檔和論壇,但我無法確定正在調用什麼方法來實例化「替換」對話框或如何覆蓋它。

回答

12

替換命令定義爲here。也可以使用下面的代碼來改變按Ctrl + H^按Ctrl +[R

editor.commands.addCommand({ 
    name: "replace", 
    bindKey: {win: "Ctrl-R", mac: "Command-Option-F"}, 
    exec: function(editor) { 
     require("ace/config").loadModule("ace/ext/searchbox", function(e) { 
      e.Search(editor, true) 
      // take care of keybinding inside searchbox   
      // this is too hacky :(    
      var kb = editor.searchBox.$searchBarKb 
      command = kb.commandKeyBinding["ctrl-h"] 
      if (command && command.bindKey.indexOf("Ctrl-R") == -1) { 
       command.bindKey += "|Ctrl-R" 
       kb.addCommand(command) 
      } 
     }); 
    } 
}); 

但內部命令的部分是相當難看,我建議,使問題在王牌庫要麼使用普通的叫法,或拿起自動replace命令鍵

+0

只是爲了說明 - 它不工作@今天。 –

0

這爲我工作:

editor.commands.addCommand({ 
name: 'replace', 
bindKey: {win: 'Ctrl-R', mac: 'Command-Option-F'}, 
exec: function(editor) { 
ace.config.loadModule("ace/ext/searchbox", function(e) {e.Search(editor, true)}); 
}, 
readOnly: true 
});